[英]How to convert BufferedImage(RGB) to BufferedImage(ARGB or RGBA)?
[英]Get RGBA pixels from ARGB BufferedImage?
有没有一种简单的方法可以从argb BufferedImage
获取rgba int[]
? 我需要将其转换为opengl,但是我不想遍历像素数组并自己进行转换。
GL_BGRA
像素格式和反向打包像素。 从表面BGRA
并不像您想要的,但让我解释一下。
像glTexImage2D (...)
类的调用执行所谓的像素传输,涉及打包和解包图像数据。 在像素传输过程中,可能会执行数据转换,可能会遵循特殊的对齐规则,等等。 除了明显的RGBA
组件顺序之外,您还可以采用多种不同的布局传输像素。
如果将字节顺序( 例如,数据类型= GL_UNSIGNED_INT_8_8_8_8_REV
)与GL_BGRA
格式一起GL_BGRA
,则可以有效地传输ARGB像素,而无需您付出任何实际努力。
glTexImage2D (...)
调用: glTexImage2D (..., GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, image);
_REV
打包数据类型的通常用例是处理不同处理器之间的字节序差异,但是当您想要反转图像中组件的顺序时,它也很方便(因为没有GL_ARGB
这样的东西)。
不要为OpenGL转换内容-它完全有能力单独执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.