如何使用Magick.NET(imagemagik)和C#将APNG转换为WEBP



我试过这样做,但APNG动画丢失了

此外,我正在寻找无损但最大压缩的设置。我不在乎CPU时间速度等。我需要无损和最大压缩。如何做到这一点?

所以我有很多PNG文件和一些APNG文件

我会把它们全部变成WEBP文件

然而,我仍然想保留APNG动画以及

以下是要测试的APNG示例:https://static.pokemonpets.com/images/npcTrainers/trainer15125down.png

using (var image = new MagickImage(@"pathDebuga.png"))
{
image.Quality = 100;
image.Settings.SetDefine(MagickFormat.WebP, "lossless", true);
image.Settings.SetDefine(MagickFormat.WebP, "method", "6");
image.Write("a.webp");
}

C#.net框架4.8,Magick.net-Q16-AnyCPU,7.24.1.0

如果您想读取包含多个帧的图像,则需要使用MagickImageCollection

using (var images = new MagickImageCollection(@"apng:pathDebuga.png"))
{
var defines = new WebPWriteDefines
{
Lossless = true,
Method = 6,
};
images.Write("a.webp", defines);
}

如果你想阅读一个动画PNG文件,你需要在你的%PATH%中有ffmpeg.exe。这是读取动画PNG文件所必需的。您还需要添加apng:,以确保ImageMagick知道它是一个动画PNG文件。

相关内容

  • 没有找到相关文章

最新更新