我对 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)