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

标签 c# image gif animated-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 channel 和不同的帧速率。看起来很完美!

关于c# - 如何使用 C# 调整动画 gif 图像的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/539034/

相关文章:

c# - 如何在多线程上下文中使方法独占?

java - 从 JPG 图像中读取文本数据

android - 您无法为已销毁的 Activity 启动加载

C# 局部变量作用域

c# - 数据为空。不能对空值调用此方法或属性。(使用组合框)

Android Gallery 始终将 RESULT_CANCELED 返回到 onActivityResult

javascript - 当图像出现在 slider 中时,如何从头开始播放图像动画?

css - 录制 SVG 动画并将其保存为动画 GIF

c# - SolrNet连接说明

javascript - 使用 HTML/CSS/JS 将图像放置在文本字段中?