我是新手来渲染颜色,渲染等等,并观看一些关于渲染等的教程视频。我的问题是,当我在一个像素上调用getRGB
方法时,它会返回一个负数int。这个负数是什么意思?例如,当我用r:186,g:186,b:186的颜色调用getRGB
时,它返回-4539718。这个数字与rgb值有什么关系?我做了几次谷歌搜索,但没有成功。
答案 0 :(得分:16)
getRGB
方法返回int
,其中4个字节是该顺序中的alpha,red,green和blue组件。假设像素不透明,则alpha为255(0xFF)。它是int
中最重要的字节,第一位在该值中设置。因为在int
中根据Two's Complement对{{1}}值进行了签名,所以该值实际上是负数,因为第一位是打开的。
答案 1 :(得分:0)
要获取像素的颜色:
Color c = new Color(image.getRGB(10,10));
int red = c.getRed();
int green = c.getGreen();
int blue = c.getBlue();