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

时间:2013-03-26 21:37:35

标签: c# winforms animated-gif

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

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

4 个答案:

答案 0 :(得分:7)

您可以随时将图像/ gif封装在Picturebox中,当您想要停止gif时,只需将Picturebox的Enabled属性设置为false。

只是一个想法。

答案 1 :(得分:6)

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

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

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

答案 2 :(得分:6)

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

答案 3 :(得分:3)

如果您想要停止GIF&amp ;;您可以使用pictureBox.Enabled = false; pictureBox.Enabled = true;当您希望它运行GIF时。