C#如何从不断循环停止动画GIF(C# How to stop animated gif from

2019-07-25 03:14发布

我有,当我的应用程序使用互联网时调用的事件。 事件改变7帧组成的动画GIF。 我如何让它只遍历帧只有一次?

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

Answer 1:

您可以使用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
}


Answer 2:

你总是可以封装图像/ GIF一个PictureBox里面,当你想GIF停止,只是在PictureBox的Enabled属性设置为false。

只是一个想法。



Answer 3:

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

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

您可以使用该网站来提取GIF框架: http://gif-explode.com/



Answer 4:

你可以只用pictureBox.Enabled = false; 如果你想停止GIF& pictureBox.Enabled = true; 当你想要它运行GIF。



文章来源: C# How to stop animated gif from continually looping