我已阅读 giflib 使用说明并编写了以下代码:
GifFileType *gifFile = DGifOpenFileName("D:\\my.gif00.gif");
DGifSlurp(gifFile);
int h = gifFile->SHeight;
int w = gifFile->SWidth;
int count = gifFile->ImageCount;
GifPixelType *myPixels = new GifPixelType[w];
int errcode = DGifGetLine(gifFile, myPixels, 1);
if (errcode == GIF_OK) {
} else {
PrintGifError();
}
如您所见,我在 DGifOpenFileName 函数中作为参数设置的任何文件都会导致错误,PrintGifError() 会打印出以下消息:
GIF-LIB 错误:#Pixels 大于宽度 * 高度。
我不明白我的代码有什么问题。我想要的是读取 gif 文件的像素,编辑它们然后设置回 gif 文件。你能帮忙解决这个问题吗?