我找到的所有代码都给了我相同的结果:一堆精确的框架.含义:它给出了第一帧的列表,重复X次.我使用的.gif有30帧,所以我得到第一帧的30倍,而不是30帧.
public static Image[] GetFramesFromAnimatedGIF(Image IMG) { List<Image> IMGs = new List<Image>(); int Length = IMG.GetFrameCount(FrameDimension.Time); for (int i = 0; i < Length; i++) { IMG.SelectActiveFrame(FrameDimension.Time,i); IMGs.Add(IMG); } return IMGs.ToArray(); }
我错过了什么?我看过的所有代码都给第一帧重复X次.
这是应该看的(使用网页).看看每个框架是如何不同的?
这是在将数组内的每个帧保存在文件夹位置(一堆相等的帧)之后它找我的样子:
P.S.:是的,它是我正在使用的图像.gif.
更新:问题似乎是当我在OpenFileDialog中读取文件时,因为如果我通过代码传递我的.gif文件就可以了.那么如何在OpenFileDialong中阅读动画gif?谢谢.