将rgba888的图片转换成rgb888图片的C代码
时间: 2023-10-02 18:08:23 浏览: 181
RGB888转NV21(yuv420sp)源代码详解
以下是将RGBA8888格式的图片转换为RGB888格式的图片的C代码:
```c
void rgba8888_to_rgb888(unsigned char *rgba, unsigned char *rgb, int width, int height) {
int i, j, k, n;
n = width * height;
for (i = 0, j = 0; i < n; i++, j += 4) {
rgb[i * 3] = rgba[j];
rgb[i * 3 + 1] = rgba[j + 1];
rgb[i * 3 + 2] = rgba[j + 2];
}
}
```
其中,`rgba`为输入的RGBA8888格式的图片数据,`rgb`为输出的RGB888格式的图片数据,`width`和`height`表示图片的宽度和高度。在函数中,我们通过循环遍历每个像素点,将RGBA8888的每四个字节中的前三个字节(即R、G、B分量)依次存入RGB888格式的图片数据中。
阅读全文