【问题标题】:C# Show webp in Picturebox with both animated and static .webp filesC# 在带有动画和静态 .webp 文件的 Picturebox 中显示 webp
【发布时间】:2021-03-13 04:13:52
【问题描述】:

我的磁盘上有一堆 .webp 文件。我现在想在我的 WinForm 应用程序内的图片框中显示这些文件(一个接一个)。将 webp 转换为位图有效。问题是一些 webp 文件是动画的。

应用程序应该能够查看 webp 文件是静态的还是动画的,并将其转换为可以在图片框中显示的内容。

这是我当前显示静态 webp 文件的代码:

Imazen.WebP.SimpleDecoder decoder = new Imazen.WebP.SimpleDecoder();
var bytes = File.ReadAllBytes(filename);
var bitmap = decoder.DecodeFromBytes(bytes, bytes.Length);
pictureBox1.Image = bitmap;

这使用了 libwebp 的包装器。但是我对不同的资源/库完全没问题。网络上提到的大多数方法都要求您已经知道目标类型(例如 gif jpg 等)。任何输入都可以接受。

【问题讨论】:

    标签: c# winforms picturebox webp


    【解决方案1】:

    检查System.Drawing.Animator 类。它适用于 GIF,但理论上应该支持任何支持动画的位图 (Bitmap.CanAnimate)。您需要手动设置计时器和任务,以便在指定时间绘制帧。

    话虽如此,乍一看您的library of choice 并不能处理动画位图。

    【讨论】:

    • 其实动画是他们“TO DO”列表中的一件事。
    猜你喜欢
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 2019-04-08
    • 2017-12-24
    • 2012-07-18
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多