2012-05-05 70 views
0

我有兩維矩陣,它存儲0到1之間的值。我想將這些值繪製爲灰度級別。將0到1的值轉換爲灰度圖像(Java)

如果值爲1,則應繪製爲白色。 如果該值爲0,則應繪製爲黑色。

我該怎麼做在java中?

我試過類:ColorBufferedImage,但我搞不明白。

回答

1

要創建的圖像,並設置像素:

final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 

for (int y = 0; y < height; y++) 
{ 
    for (int x = 0; x < width; x++) 
    { 
    image.setRGB(x, y, color); 
    } 
} 

color是int,在這種情況下,在ARGB格式(頂部字節是α,則紅色字節,綠色字節,藍色字節)。既然你在做灰度,你想要R,G和B是相同的值。你不想要alpha,所以你應該把最高字節設置爲0xFF。

參見:BufferedImage.setRGB()

+0

「既然你在做灰階,你想R,G和B是相同的值。」那是我正在尋找的答案。謝謝! – coolscitist

相關問題