Java 类型_INT_RGB和类型_INT_ARGB的格式
有人能给我解释一下java是如何将颜色存储在类型_INT_RGB和类型_INT_ARGB中的吗?Java 类型_INT_RGB和类型_INT_ARGB的格式,java,colors,rgb,argb,Java,Colors,Rgb,Argb,有人能给我解释一下java是如何将颜色存储在类型_INT_RGB和类型_INT_ARGB中的吗? 这些代码行在计算红色、绿色和蓝色时是否正常工作 int red= (RGB>>16)&255; int green= (RGB>>8)&255; int blue= (RGB)&255; 那么类型为INT的ARGB呢?如何从类型_INT_ARGB中获取红色、绿色和蓝色?类型_INT_ARGB将颜色表示为INT(4字节),alpha通道位为24-31,
这些代码行在计算红色、绿色和蓝色时是否正常工作
int red= (RGB>>16)&255;
int green= (RGB>>8)&255;
int blue= (RGB)&255;
那么类型为INT的ARGB呢?如何从类型_INT_ARGB中获取红色、绿色和蓝色?类型_INT_ARGB将颜色表示为
INT
(4字节),alpha通道位为24-31,红色通道位为16-23,绿色通道位为8-15,蓝色通道位为0-7
TYPE\u INT\u RGB
表示颜色为INT
(4字节)INT,与TYPE\u INT\u ARGB
相同,但忽略alpha通道(或位24-31为0)
查看和的javadoc。这些是常量值,指示
buffereImage
实例的颜色模型。这些值本身并不存储颜色。您的输入是正确的。等效类型_INT_ARGB代码为:
int rgb = rgbColor.getRGB(); //always returns TYPE_INT_ARGB
int alpha = (rgb >> 24) & 0xFF;
int red = (rgb >> 16) & 0xFF;
int green = (rgb >> 8) & 0xFF;
int blue = (rgb ) & 0xFF;
将字节的颜色元素从最高有效到最低有效拼写出来,就得到了ARGB,这就是它的名字。我以前不知道这些东西:-)很高兴知道有人为你搜索过:-)为了更好的代码,255可能是
0xff
或0b1111\u 1111