有没有一种方法可以使用 C# 创建动画 gif 图像的副本?
我想要的是使用用户提供的高度和宽度参数生成给定 gif 图像的副本。我已经尝试了几个小时来完成此操作,但生成的图像并未保留原始动画。
有没有一种方法可以使用 C# 创建动画 gif 图像的副本?
我想要的是使用用户提供的高度和宽度参数生成给定 gif 图像的副本。我已经尝试了几个小时来完成此操作,但生成的图像并未保留原始动画。
花了我一段时间才找到这个,但终于找到了解决方案:
通过 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 通道和不同的帧速率。似乎很完美!
您需要遍历动画 GIF 中的帧并调整每个帧的大小。
可能还想看看GifLib。