【发布时间】:2010-08-22 00:58:52
【问题描述】:
我有这个简单的代码来处理一个 24 位彩色 windows bmp 文件
BufferedImage mapa = BMPDecoder.read(new File("maps/map.bmp"));
final int xmin = mapa.getMinX();
final int ymin = mapa.getMinY();
final int ymax = ymin + mapa.getHeight();
final int xmax = xmin + mapa.getWidth();
for (int i = xmin;i<xmax;i++)
{
for (int j = ymin;j<ymax;j++)
{
int pixel = mapa.getRGB(i, j);
if (pixel == 0)
{
System.out.println("black at "+i+","+j);
}
}
}
但是,在对全黑图像进行测试时,我在像素处得到这个值:-16777216。
我希望得到一个 0x0。
我如何测试黑色像素(或任何其他颜色)?
更新
我正在针对((pixel & 0xff) == 0) 进行测试。这是正确的吗?
提前致谢。
【问题讨论】:
标签: java rgb bufferedimage bmp