答案 0 :(得分:2)
维基百科的图片:
描述了little-endian架构上32位ARGB
整数的字节布局。
而您的问题中的图片对应于ARGB
整数相同的big-endian布局。
所以,答案是:两张图片都是正确的,它们只是考虑到内存中位寻址的不同架构。
您应该关注的是,无论是否有结果,ARGB
,A
是32位值中最重要的字节R
在第二个最重要的,......和B
可以被认为是最不重要的字节。
因此,无论您使用什么类型的“endian”平台,都可以使用相应的位移操作正确提取它们。
修改强>
事实上,您的问题中的图片对我来说似乎很奇怪,因为它以相反的顺序显示A
,R
,G
,B
字节(甚至正确地解决它们)。我建议你坚持使用维基百科的图表来解决困惑。
回答您的评论:与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
);
使用哪一个取决于您的需求,但我猜您可以使用RGB
和ARGB
。
希望有所帮助