是否有使用C#创建动画gif图像副本的方法?
我想要的是使用用户提供的高度和宽度参数生成给定gif图像的副本。我已经尝试了几个小时来完成此操作,但生成的图像不能保留原始动画。
答案 0 :(得分:4)
您需要遍历动画GIF中的帧并调整每个帧的大小。
也许还想看看GifLib。
答案 1 :(得分: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通道和不同的帧速率。似乎是完美的!