1

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

但是另一个站点的顺序不同 关联

哪一个是正确的??

RBG的顺序呢???

4

1 回答 1

3

维基百科的图片:

小端架构上的 ARGB 表示

描述了小端架构上32 位ARGB整数的字节布局。

而您问题中的图片对应于相同整数的大端布局。ARGB

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

您应该关心的是,无论字节顺序如何,因为ARGB,A是 32 位值的最高有效字节,R位于第二高位,...并且B可以作为最低有效字节找到。

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

编辑 事实上,您问题中的图片对我来说似乎很奇怪,因为它以相反的顺序显示A, R, G,字节(甚至正确地处理它们)。B我建议您坚持使用维基百科中的图表来避免混淆。

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

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

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

希望有帮助

于 2014-04-05T21:50:46.587 回答