2

我正在尝试从可以是灰度(8bits*1componant)或 rgb(8bits*3componant)的图像中写入一个 PNGlibpng文件C

我阅读了手册并编写了这段不起作用的代码:-/

/* writing the image */
png_byte *row_pointers[img->height];
int h;
for (h = 0 ; h < img->height ; h++)
{
    row_pointers[h] = img->data+h*img->width*image_components;
}
png_write_image(png_ptr, row_pointers);

图像中没有写入任何内容,我不明白为什么。

img.data指向图像数据(在 RGB 格式的情况下是交错的)

4

1 回答 1

1

文档说您应该使用 png_write_end,请参阅http://www.libpng.org/pub/png/libpng-1.2.5-manual.html中的“完成顺序写入”部分。那里有很多例子(例如http://zarb.org/~gc/html/libpng.html

于 2013-08-02T07:37:09.410 回答