2011-04-30 37 views
0

嗨 我有一個尺寸爲640 * 480像素的圖像數據,數據格式爲0和1,在一個txt文件中。因此文本文件中有640 * 480 = 307200個字符(0和1)。 0表示原始圖像中沒有任何內容(例如黑色背景),1表示存在(例如,用戶正在站立並且與用戶blob有關),因此它不會被誤認爲RGB或字節數據。將像素數據轉換爲java中的圖像

我需要讀取它並將其轉換爲java中大小爲640 * 480像素的圖像,其中用0表示的像素可以設置爲一種顏色(例如黑色),另一種顏色設置爲1(例如白色)。
我該怎麼做?感謝幫助。

+0

閱讀'txt'逐字符文件並使用if-else語句相應地繪製圖像。 – Alpine 2011-04-30 19:20:53

回答

4

首先,你需要讀它。如果你知道它的寬度,你可以做這樣的事情:

BufferedReader in = new BufferedReader(new FileReader("myfile.txt")); 
boolean[][] mask = new boolean[640][480]; 
int i = -1; 
int count = 0; 
while((i = in.read()) !- -1) { 
    int x = count % 640; 
    int y = count/640; 
    mask[x][y] = (i == '1'); 
    count++; 
} 

然後你就可以畫這樣

paint(Graphics g) { 
    g.setColor(Color.BLACK); 
    g.drawRect(0,0,640,480); // draw the black background 

    // mask it with white 
    g.setColor(Color.WHITE); 
    for(int x = 0; x < 640); x++) { 
     for(int y = 0; y < 480); y++) { 
      if(mask[x][y]) g.drawRect(x,y,1,1); 
     } 
    } 
} 
+0

thankyou glowcoder,但我不知道如何使用油漆(圖形克)功能.. – Nohsib 2011-04-30 20:13:26

+0

瞭解它...謝謝噸! – Nohsib 2011-04-30 20:31:53