我之前的源代码问题是:How to use gif animated image in WP 7
我正在使用http://imagetools.codeplex.com/ 在我的动画gif我有24帧,但它只解码了一些第一帧,所以我一次又一次地看到一些(可能是两个)帧的重复动画
答案 0 :(得分:1)
对于某些gif文件,这个解码器可以用于其他一些 - 不用。
我下载了该项目的源代码,发现代码无法正常工作。它位于ImageTools.IO.Gif\GifDecoder.cs
文件中,Decode
方法:
int nextFlag = stream.ReadByte();
while (nextFlag != 0)
{
//...
}
但this gif在中间包含0字节,因此解码器停在不应该的位置。解决方案是将此标志更改为-1,以便我们确保将gif图像读取到最后:
int nextFlag = stream.ReadByte();
while (nextFlag != -1)
{
}
因此,您需要重新编译此库或以源代码的形式包含ImageTools.IO.Gif
项目,而不是以dll的形式。
您可以在此处下载示例项目:http://dl.dropbox.com/u/8047386/StackOverflow/TestGif.zip
但我不确定是否可以依赖此修复程序。无论如何,我在codeplex打开了这个问题。