目标是给定GIF文件,其中包括几个图像,以提取这些图像像素,编辑(更改它们)并将它们放回GIF文件。 尝试使用giflib来做到这一点。
使用的语言是C。
我已成功阅读Gif文件,并可使用以下代码访问图像像素:
GifFileType *gifFile = DGifOpenFileName(filename);
DGifSlurp(gifFile);
但正如Documentation所述: 关于DGifSlurp功能:
当您修改图像时,请将其写出来 EGifSpew()。
但是使用该功能会导致: GIF-LIB错误:给定文件未打开以进行写入。
在以下代码中:
GifFileType *gifFile = DGifOpenFileName(filename);
DGifSlurp(gifFile);
EGifSpew(gifFile);
您知道如何保存已编辑的gif图像吗?
答案 0 :(得分:0)
您的文档已过时。你应该看看这里:http://giflib.sourceforge.net/gif_lib.html#idp26995312
您可以通过功能挂钩写入GIF文件。用
初始化GifFileType * EGifOpen(void * userPtr,OutputFunc writeFunc,int * ErrorCode) 并查看Outputfunc类型的库头文件。
此外,函数EGifSpew()在gifFile的第二个参数中使用fd。
希望它有所帮助。