问题描述
所述的BufferedImage类有一个方法int
getRGB(int x, int
y)
即返回整数表示像素的(x,y)处的颜色六角(和另一方法,该方法返回像素的矩阵)。由此可以得到r,g和b值,如下所示:
整数r =(0x00ff0000&rgb)>> 16;
整数g =(0x0000ff00&rgb)>> 8;
int b =(0x000000ff&rgb);
然后检查图像中每个像素的像素是否均相等。如果每个像素的r == g == b,那么它是灰度的。
这是想到的第一件事。我不确定在读取图像时是否会设置某种灰度标记。
解决方法
我试图确定图像是否是简单的黑白图像,或者是否具有颜色(使用Java)。如果它有颜色,我需要向用户显示一条警告消息,说颜色将丢失。