我有一个二维矩阵,它存储0到1之间的值。我想将这些值绘制为灰度级。
如果该值为1,则应绘制为白色。如果该值为0,则应将其绘制为黑色。
我如何在java中做到这一点?
我试过Color和BufferedImage这两个类,但我搞不懂。
发布于 2012-05-05 17:09:55
要创建图像并设置像素:
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是一个ARGB格式的整数(最上面的字节是alpha,然后是红字节、绿字节、蓝字节)。因为你做的是灰度,所以你希望R,G和B是相同的值。您不想要alpha,所以您应该将顶部字节设置为0xFF。
请参阅:BufferedImage.setRGB()
https://stackoverflow.com/questions/10460330
复制相似问题