C 帮助使用libpng在内存中将位图转换为png

C 帮助使用libpng在内存中将位图转换为png,c,bitmap,libpng,C,Bitmap,Libpng,基本上,我想使用libpng将位图转换为png,但不是将其输出到文件*而是将其输出到char*。我已经看过相关的文章,但我不知道位图数据是在哪里实际使用的。任何帮助都将不胜感激。使用png\u set\u write\u fn函数将写入重定向到您自己的函数;您需要编写此函数,它可以以任何方式存储输出 请参阅Great上的文档,谢谢您的帮助。我终于解决了这个问题,这里是我的解决方案,以防其他人和我一样是个傻瓜:首先设置your row\u指针,使每个row\u指针指向位图中的一行。(行指针[i]=

基本上,我想使用libpng将位图转换为png,但不是将其输出到文件*而是将其输出到char*。我已经看过相关的文章,但我不知道位图数据是在哪里实际使用的。任何帮助都将不胜感激。

使用
png\u set\u write\u fn
函数将写入重定向到您自己的函数;您需要编写此函数,它可以以任何方式存储输出


请参阅

Great上的文档,谢谢您的帮助。我终于解决了这个问题,这里是我的解决方案,以防其他人和我一样是个傻瓜:首先设置your row\u指针,使每个row\u指针指向位图中的一行。(行指针[i]=位图[i*位图\U宽度*3],如果是RGB位图,则为3)。然后设置行:png_set_rows(png_ptr、info_ptr、row_指针);然后调用:png\u set\u write\u fn(…),最后通过调用:png\u write\u png(…)调用write\u fn