我想知道单个像素的alpha通道如何为-1?我正在浏览PNG图像的每个像素(加载到缓冲图像,ARGB类型)。许多alpha值是-1(其他值大于零) - 这怎么可能?该值不应介于0到255之间吗?代码如下。谢谢你的提示!
// imagine some great loop for x and y before this code
int a = (scaledImage.getRGB(x, y) & 0xff000000) >> 24; // kill all bits except for the first 8, shift 24 to the right to get them
System.out.println("" + a);
答案 0 :(得分:2)
您遇到了代码扩展问题。请改用无符号移位运算符>>>
。
答案 1 :(得分:0)
如果将其视为unsigned int,则= -1 = 0xFF = 255.这只是解释alpha通道的255值的另一种方法。