在 GPUImagePicture.m
的源码中提到,只有这两种格式的图像数据可以直接在 OpenGL 中使用:
- Little endian,alpha-first,即 BGRA(也就是 ARGB 反过来)
- Big endian,alpha-last,即 RGBA
在 Apple 的官方 sample code GLImageProcessing 有这样的说明:
CGImage may return pixels in RGBA, BGRA, or ARGB order.
On the device, CGImage will generally return BGRA or RGBA.
On the simulator, CGImage may return ARGB, depending on the file format.
为了提升 Core Graphics 的性能,苹果推荐使用 BGRA。
参考:
网友评论