这是来自 wiki ARGB 和 RGBA的颜色通道位数的顺序
但是另一个站点的顺序不同
哪一个是正确的??
RBG的顺序呢???
维基百科的图片:
描述了小端架构上32 位ARGB
整数的字节布局。
而您问题中的图片对应于相同整数的大端布局。ARGB
所以,答案是:两张图片都是正确的,它们只是在内存中的位寻址方面考虑了不同的架构。
您应该关心的是,无论字节顺序如何,因为ARGB
,A
是 32 位值的最高有效字节,R
位于第二高位,...并且B
可以作为最低有效字节找到。
因此,无论您是什么类型的“endian”平台,您都可以使用相应的位移操作正确提取它们。
编辑
事实上,您问题中的图片对我来说似乎很奇怪,因为它以相反的顺序显示A
, R
, G
,字节(甚至正确地处理它们)。B
我建议您坚持使用维基百科中的图表来避免混淆。
回答您的评论:与 Java相比,Java 的颜色TYPE_INT_BGR
编码相反,请参阅java.awt.image.BufferedImage.java:rgb
TYPE_INT_RGB
case TYPE_INT_BGR:
{
colorModel = new DirectColorModel(24,
0x000000ff, // Red
0x0000ff00, // Green
0x00ff0000 // Blue
);
使用哪一个取决于您的需求,但我猜您可以使用RGB
and ARGB
。
希望有帮助