[英]How do you determine if an image (java.awt.Image) is B&W, with no color?
我正在尝试确定图像是简单的黑白图像,还是有颜色(使用Java)。 如果它有颜色,我需要向用户显示一条警告消息,颜色将会丢失。
BufferedImage类有一个方法int getRGB(int x, int y)
,它返回一个十六进制整数,表示(x,y)处像素的颜色(以及另一个返回像素矩阵的方法)。 从那里你可以获得r,g和b值,如下所示:
int r = (0x00ff0000 & rgb) >> 16; int g = (0x0000ff00 & rgb) >> 8; int b = (0x000000ff & rgb);
然后检查它们对于图像中的每个像素是否都相等。 如果对于每个像素r == g == b,那么它是灰度级的。
这是我想到的第一件事。 我不确定在图像中读取时是否会设置某种灰度标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.