我想使用 Irrlicht 和 OpenGL ES 1.0 驱动程序来捕获屏幕。
这是我用 C++ 编写的代码
glReadPixels(0, 0, 200, 200, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
大多数安卓设备运行良好。但是 Android 2.2.3 的 MileStone 得到了意想不到的结果。我想要 RGBA 颜色格式,而 MileStone 返回 BGRA 颜色。
最后,我更改了我的代码
glReadPixels(0, 0, 200, 200, GL_BGRA, GL_UNSIGNED_BYTE, pixels);
但是 MileStone 返回 RGBA 颜色。
我有疑问,为什么红色和蓝色是出乎意料的?正确的理由是什么?