2

目的是针对给定的 GIF 文件,其中包括多个图像,以提取这些图像像素,编辑(更改它们)并将它们放回 GIF 文件。尝试使用 giflib 来实现。

使用的语言是 C。

我已成功读取 Gif 文件并可以使用以下代码访问图像像素:

GifFileType *gifFile = DGifOpenFileName(filename);
DGifSlurp(gifFile);

但正如文档中所说:关于 D​​GifSlurp 功能:

当您修改了图像以品尝时,使用 EGifSpew() 将其写出来。

但是使用该函数会导致:GIF-LIB 错误:给定文件未打开以进行写入。

在以下代码中:

GifFileType *gifFile = DGifOpenFileName(filename);
DGifSlurp(gifFile);
EGifSpew(gifFile);

你知道如何保存编辑后的 ​​gif 图像吗?

4

1 回答 1

0

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

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

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

此外,函数 EGifSpew() 将 fd 作为 gifFile 的第二个参数。

希望它有所帮助。

于 2013-05-22T18:52:23.393 回答