首页 文章

如何使用C#调整动画gif图像的大小?

提问于
浏览
5

有没有一种方法可以使用C#创建动画gif图像的副本?

我想要的是使用用户提供的高度和宽度参数生成给定gif图像的副本 . 我已经尝试了几个小时来完成此操作但是生成的图像不能保留原始动画 .

2 回答

  • 3

    您需要遍历动画GIF中的帧并调整每个帧的大小 .

    也许还想看看GifLib .

  • 4

    花了一段时间才找到这个,但终于找到了解决方案:

    通过NuGet安装 Magick.NET ,可在此处找到许可证:
    https://magick.codeplex.com/license

    示例代码:

    var newWidth = 100;
    using (var collection = new MagickImageCollection(new FileInfo(@"C:\test.gif")))
    {
        collection.Coalesce();
        foreach (var image in collection)
        {
            image.Resize(newWidth, 0);
        }
        collection.Write(@"c:\resized.gif");
    }
    

    根据我的测试,这适用于alpha通道和不同的帧速率 . 似乎是完美的!

相关问题