RGB,ARGB和RGBA的比特数颜色通道

时间:2014-04-05 20:22:10

标签: java colors rgb rgba argb

这是来自wiki的颜色通道位数的顺序 ARGB and RGBA

但是与其他网站的订单不同 Link

哪一个是正确的?

RBG的顺序怎么样?

1 个答案:

答案 0 :(得分:2)

维基百科的图片:

ARGB representation on little-endian architecture

描述了little-endian架构上32位ARGB整数的字节布局。

而您的问题中的图片对应于ARGB整数相同的big-endian布局。

所以,答案是:两张图片都是正确的,它们只是考虑到内存中位寻址的不同架构。

您应该关注的是,无论是否有结果,ARGBA是32位值中最重要的字节R在第二个最重要的,......和B可以被认为是最不重要的字节。

因此,无论您使用什么类型的“endian”平台,都可以使用相应的位移操作正确提取它们。

修改 事实上,您的问题中的图片对我来说似乎很奇怪,因为它以相反的顺序显示ARGB字节(甚至正确地解决它们)。我建议你坚持使用维基百科的图表来解决困惑。

回答您的评论:与TYPE_INT_BGR相比,Java rgb已反转TYPE_INT_RGB种颜色的编码,请参阅java.awt.image.BufferedImage.java

case TYPE_INT_BGR:
         {
             colorModel = new DirectColorModel(24,
                                                   0x000000ff,   // Red
                                                   0x0000ff00,   // Green
                                                   0x00ff0000    // Blue
                                                   );

使用哪一个取决于您的需求,但我猜您可以使用RGBARGB

希望有所帮助