2013-10-04 66 views
-1

我用的ImageIO寫保存黑色圖像

BufferedImage bi= new BufferedImage(320,240,BufferedImage.TYPE_BYTE_GRAY); 

ImageIO.write(bi, "png", outputfile);

保存的圖像,但保存黑色圖像。我不明白是什麼問題。

+4

這不足以知道問題是什麼。很可能'bi'是黑色的,但是你沒有說明你是如何創建它的內容的。 – kiheru

+0

如果您不在畫布上放置_anything_,它會變成黑色。當然,這也可能發生錯誤。請在此行之前添加您的代碼。你之前用'bi'做過什麼? – qben

+0

你是怎麼操作'bi'圖像?!這是因爲默認的像素值是0,並且它意味着黑色。 – 2013-10-04 18:48:20

回答

1

因爲它已經建議,默認的像素值處於BufferedImage零(RGB(0,0,0)),因此通過這條線:

BufferedImage bi= new BufferedImage(320,240,BufferedImage.TYPE_BYTE_GRAY); 

創建黑色圖像。所以結果正是在這種情況下預期的結果。在保存之前

BufferedImage bi= new BufferedImage(320,240,BufferedImage.TYPE_BYTE_GRAY); 
Graphics gc = bi.getGraphics(); 
gc.setColor(Color.white); 
gc.fillRect(0,0,320,240); 

如果你想創建一個白色的,例如,你可以做到這一點。

相關問題