C# 如何阻止动画 gif 不断循环

本文关键字:循环 gif 动画 何阻止 | 更新日期: 2023-09-27 18:05:56

我有一个事件,当我的应用使用互联网时被调用。该事件更改由 7 帧组成的动画 gif。如何使其只循环遍历帧一次?

        private void trafficSendingActive(object sender, trafficEventArgs e)
        {
            txImage.Image = Properties.Resources.blip;
        }

C# 如何阻止动画 gif 不断循环

您始终可以将图像/gif 封装在图片框中,当您希望 gif 停止时,只需将图片框的 Enabled 属性设置为 false。

只是一个想法。

当进度事件完成后,您可以从该GIF图像(非动画(中提取单个帧,

txImage.Image = Image.FormFile("non-animated-frame-from-gif.jpg");

您可以使用此网站从gif中提取框架:http://gif-explode.com/

您可以使用System.Drawing.ImageAnimator来启动/停止gif动画

// start
System.Drawing.ImageAnimator.Animate(txImage.Image, OnFrameChanged);
// stop
System.Drawing.ImageAnimator.StopAnimate(txImage.Image, OnFrameChanged);
private void OnFrameChanged(object sender, EventArgs e)
{
   // frame change
}
如果你想

停止GIF和pictureBox.Enabled = true;,你可以使用pictureBox.Enabled = false;,当你希望它运行GIF时。