我正在使用 image.getRGB() 方法,但我不确定我得到的 int 值是什么意思。它返回一个-1,我不知道为什么。我只想看看一个像素是黑色还是白色。
问问题
358 次
2 回答
3
a-1
可能意味着 0xFFFFFF 是白色的?
另请参阅此问题Java BufferedImage getRGB method and Color class to convert an RBG int value into a Color
instance
于 2013-10-21T02:06:11.220 回答
0
首先,您需要知道对于 java,需要 4 个字节来存储 int;
其次,getRGB 方法返回 RGB 的 alpha、red、green、blue 分量,每个分量占用 1 个字节,1 个字节表示 8 位。
第三,您可能需要知道 alpha 表示不透明程度(表示不透明)
并且,二进制补码中的-1是 11111111 11111111 11111111 11111111 (如上所述的 int 32 位)
最后,现在您知道 alpha 部分是 255,因此是红色、绿色、蓝色。这意味着,颜色不是透明的和白色的。
于 2013-10-21T03:49:24.277 回答