int a = bufferedImageSource.getRGB(x,y) 的值是多少?

问题描述

我有点困惑究竟什么值将存储在变量 a 中。请有人用例子解释我

提前致谢。

解决方法

正如 BufferedImage.getRGB() 文档所说:

返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素。如果此默认模型与图像 ColorModel 不匹配,则会发生颜色转换。使用这种方法返回的数据中每个颜色分量只有8位精度。

要将这个整数划分为 R、G、B 值,您可以使用按位运算:

BufferedImage bufferedImage = new BufferedImage(10,10,10);
int a = bufferedImage.getRGB(0,0);

int red = (a >> 16) & 255;
int green = (a >> 8) & 255;
int blue = (a) & 255;
System.out.println(a + " r:" + red + ",g:" + green + ",b:" + blue);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...