您如何确定图像(java.awt.Image)是否为黑白且没有颜色?

问题描述

所述的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)。如果它有颜色,我需要向用户显示一条警告消息,说颜色将丢失。

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”