首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Magick.NET (imagemagick)和C#将APNG转换成WEBP?

如何使用Magick.NET (imagemagick)和C#将APNG转换成WEBP?
EN

Stack Overflow用户
提问于 2021-06-17 09:39:57
回答 1查看 305关注 0票数 0

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

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

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

我会把它们都转换成WEBP文件

不过,我还是想保留APNG动画

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

代码语言:javascript
复制
     using (var image = new MagickImage(@"path\Debug\a.png"))
        {
            image.Quality = 100;
            image.Settings.SetDefine(MagickFormat.WebP, "lossless", true);
            image.Settings.SetDefine(MagickFormat.WebP, "method", "6");
            image.Write("a.webp");
        }

C# .net Framework4.8,Magick.NET-Q16-AnyCPU,7.24.1.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-19 20:04:03

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

代码语言:javascript
复制
using (var images = new MagickImageCollection(@"apng:path\Debug\a.png"))
{
    var defines = new WebPWriteDefines
    {
        Lossless = true,
        Method = 6,
    };

    images.Write("a.webp", defines);
}

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68011850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档