尝试使用 giflib 对 GIF 文件进行编码
Trying to encode a GIF file using giflib
我得到了图像数据和颜色 table 我正在尝试使用 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?这个问题真的很令人沮丧。
谢谢。
编辑:
出于简单编码的目的,我不想指定颜色 table,我只想编码单帧 GIF。
原型为:
GifFileType *EGifOpenFileName(char *GifFileName, bool GifTestExistance, int *ErrorCode)
你应该写成
GifFileType* image_out = EGifOpenFileName(fileName,true, &errorCode);
注意 GifFileType
不是 POD 类型,因此您应该不要 那样复制。
我得到了图像数据和颜色 table 我正在尝试使用 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?这个问题真的很令人沮丧。 谢谢。
编辑:
出于简单编码的目的,我不想指定颜色 table,我只想编码单帧 GIF。
原型为:
GifFileType *EGifOpenFileName(char *GifFileName, bool GifTestExistance, int *ErrorCode)
你应该写成
GifFileType* image_out = EGifOpenFileName(fileName,true, &errorCode);
注意 GifFileType
不是 POD 类型,因此您应该不要 那样复制。