【发布时间】:2021-05-19 03:56:27
【问题描述】:
我的问题是我在 PictureBox 控件中用作 IMAGE 值的动画 gif 的显示速度比在资源管理器中显示的速度慢。
我正在使用 C# Winforms。
这里的问题应该是执行时跳过了一些帧。
有人可以确认这个问题并可能有解决方案吗?
我的图片框用于预加载并完全在后台线程中工作。
是否可以从 gif 中一一读取帧并将其动画制作成图片框?
谢谢!
【问题讨论】:
-
ImageAnimator.Animate() => ImageAnimator.AnimateImages50ms()。阅读
AnimateImages50ms和 ImageAnimator 类之上的注释,如果您以任何方式计划在后台线程上使用 PictureBox 进行动画处理(ImageAnimator 是用于在 PictureBox 控件中生成动画的类)。 + 框架版本很重要。 -
感谢您的建议。计时器的解决方案不适用于我的网站。 @Jimi 我怎样才能根据我的需要实施/更改它?有没有更好的方法来显示加载屏幕?
-
您需要发布您的代码,可能以允许运行它进行测试的方式发布(例如,Create a Minimal, Reproducible Example)。不需要后台线程来显示动画。动画可以在不同的环境中以不同的速度呈现:并非所有应用程序都考虑自定义帧延迟或根本不考虑它。它通常使用默认延迟呈现。
-
我上传了一个小型演示项目,它使用了来自资源的带有动画 gif 的图片框。我还将 gif 图像本身放在 zip 文件中。如果我运行该项目——也使用计时器。动画比在 Windows 照片查看器中打开的原始文件慢。这是链接:link
标签: c# winforms gif picturebox