尝试使用giflib编码GIF文件

时间:2016-06-21 14:35:50

标签: c++ gif giflib

我给了图像数据和颜色表我试图使用giflib将其导出为单帧GIF。我查看了API,但无法使其工作。即使在第一个函数中,程序也会崩溃:

GifFileType image_out;
int errorCode = 0;
char* fileName = "SomeName.gif";
image_out = *EGifOpenFileName(fileName,true, &errorCode); 

据我了解,我首先需要通过指定文件的名称来打开文件,然后使用fileHandle进行更新。然后填写屏幕描述,扩展块阻止图像数据并将3B结尾添加到文件中。然后使用EGifSpew导出整个gif。问题是我甚至无法使用EGifOpenFileName();该程序在该行崩溃。

有人可以帮我giflib的API吗?这个问题变得非常令人沮丧。 谢谢。

编辑:

出于简单编码的目的,我不想指定颜色表,我只想编码单帧GIF。

1 个答案:

答案 0 :(得分:0)

原型是:

GifFileType* image_out = EGifOpenFileName(fileName,true, &errorCode);

你应该写为

GifFileType

注意alias不是POD类型,所以你应该那样复制。