c# - 如何在不降低 C# 质量的情况下调整 Gif 的大小

标签 c# .net

我用这个:

    using (var image = Image.FromFile(txtSource.Text))
    using (var newImage = 
                resize_percentage(image,Convert.ToInt32(percentageValue.Text)))
    {newImage.Save(txtPathDirectory.Text + "\\" + fileName, ImageFormat.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 和不同的帧速率。 RE质量,评论给出很好的答案。

关于c# - 如何在不降低 C# 质量的情况下调整 Gif 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37817085/

相关文章:

c# - 使用 C# 在托管 DirectX 中在视频上绘制文本

c# - 罗马数字减法不转换

c# - 在 C# (winform .net) 中使用 .c 文件

c# - 调试 HTTP/1.1 400 错误请求的可视化 Web 开发人员 Web 服务

c# - 如何消除可空 boolean 值的使用

c# - linq 的 let 关键字是否比它的 into 关键字更好?

c# - 无法使用 LDAP 验证凭据

c# - 什么是NullReferenceException,我该如何解决?

c# - 来自 DataVisualization.Charting.Axis.GetLinearPosition() 的 NullReferenceException

c# - 如何解决多个依赖 Web 应用程序时的依赖问题?