我用这个:
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/