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

时间:2016-06-14 16:06:40

标签: 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);}

它是正确的但是当我使用它时我会失去质量。

1 个答案:

答案 0 :(得分:1)

通过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通道和不同的帧速率。 RE质量,评论给出了很好的答案。