gpt4 book ai didi

c# - 如何在框架中拆分 .gif?

转载 作者:太空狗 更新时间:2023-10-29 21:27:03 26 4
gpt4 key购买 nike

我找到的所有代码都给我相同的结果:一堆外观精确的框架。意思是:它给了我第一帧的列表,重复了 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 次。

这是应该看起来的样子(使用网页)。看看每一帧有何不同?

enter image description here

这是在将数组中的每个帧保存到文件夹位置(一堆相​​同的帧)后它为我寻找的内容:

enter image description here

P.S.:是的,我使用的是 .gif 图片。

更新:问题似乎出在我在 OpenFileDialog 中读取文件时,因为如果我通过代码传递我的 .gif 它会起作用。那么如何在 OpenFileDialong 中读取动画 gif?谢谢。

最佳答案

   IMGs.Add(IMG);

这就是问题所在,您一遍又一遍地添加相同的 IMG 对象。您需要对框架进行深度复制。这很容易做到:

   IMGs.Add(new Bitmap(IMG));

关于c# - 如何在框架中拆分 .gif?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33062087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com