小编DRG*_*DRG的帖子

如何为 png_write_image 准备 RGB 数组和行指针?

我对 C 很陌生,需要一些关于 libpng 的帮助。我有一个用图像的 RGB 值填充的无符号字符数组,需要创建一个 .png 图像。我设法创建了一个大小合适并填充了像素值的图像,但原始图片如下所示: 原图 我的代码是这样做的: 新图片

像素值必须存储在无符号字符数组中是否正确:像素一红色,像素一绿色,像素一蓝色,像素二红色,像素二绿色,像素二蓝色,......我是否计算下面代码中的行指针正确吗?

构建像素阵列(将 Y、Cb、Cr 值转换为 RGB):

int wcnt = 0;

for(int y = 0; y < height; y++){
  for(int x = 0; x < width; x++){

    rgb[wcnt] = round(1.0 * _y[y][x] + 0.0 * _cb[y][x] + 1.402 * _cr[y][x]);        //red
    rgb[wcnt+1] = round(1.0 * _y[y][x] + (-0.34414 * _cb[y][x]) + (-0.71414 * _cr[y][x]));  //green
    rgb[wcnt+2] = round(1.0 * _y[y][x] + 1.772 * _cb[y][x] + 0.0 * _cr[y][x]);  //blue

    wcnt = wcnt …
Run Code Online (Sandbox Code Playgroud)

c libpng

5
推荐指数
0
解决办法
403
查看次数

标签 统计

c ×1

libpng ×1