5

我是颜色、渲染等方面的新手,并且正在观看一些关于渲染等的教程视频。我的问题是,当我getRGB在像素上调用一个方法时,它返回一个负整数。这个负数是什么意思?例如,当我getRGB使用 r: 186, g: 186, b: 186 调用颜色时,它返回 -4539718。这个数字与它的 rgb 值有什么关系?我已经进行了几次谷歌搜索,但没有成功。

4

2 回答 2

16

getRGB方法返回一个int其 4 个字节依次是 alpha、red、green 和 blue 分量。假设像素不透明,则 alpha 为 255 (0xFF)。它是 中的最高有效字节int,并且在该值中设置了第一位。因为在 Java 中int值是根据Two's Complement进行签名的,所以该值实际上是负数,因为第一位是打开的。

于 2013-07-11T23:30:11.687 回答
2

要获取像素的颜色:

Color c = new Color(image.getRGB(10,10));
int red = c.getRed();
int green = c.getGreen();
int blue = c.getBlue();
于 2019-05-22T16:52:06.690 回答