2013-10-04 69 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); 

如果你想创建一个白色的,例如,你可以做到这一点。