【问题标题】:giflib usage for editing animated gifgiflib 用于编辑动画 gif
【发布时间】:2013-05-02 06:27:18
【问题描述】:

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

【问题讨论】:

    标签: c gif


    【解决方案1】:

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

    您可以通过函数挂钩写入 GIF 文件。初始化为

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

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

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-24
      • 2016-10-23
      • 1970-01-01
      • 2016-01-22
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      相关资源
      最近更新 更多