用于编辑GIF动画的giflib用法

时间:2013-05-08 05:58:44

标签: c gif

目标是给定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图像吗?

1 个答案:

答案 0 :(得分:0)

您的文档已过时。你应该看看这里:http://giflib.sourceforge.net/gif_lib.html#idp26995312

您可以通过功能挂钩写入GIF文件。用

初始化

GifFileType * EGifOpen(void * userPtr,OutputFunc writeFunc,int * ErrorCode) 并查看Outputfunc类型的库头文件。

此外,函数EGifSpew()在gifFile的第二个参数中使用fd。

希望它有所帮助。