C#如何阻止动画gif不断循环
当我的应用程序使用互联网时,我会调用一个事件。 该事件更改了由7帧组成的动画gif。 我如何只使它只循环一次框架?
private void trafficSendingActive(object sender, trafficEventArgs e) { txImage.Image = Properties.Resources.blip; }
您可以使用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中,当您想要停止GIF时,只需将Picturebox的Enabled属性设置为false即可。
只是一个想法。
进度事件完成后,您可以从该GIF
图像中提取单帧(非动画),
txImage.Image = Image.FormFile("non-animated-frame-from-gif.jpg");
您可以使用此网站从gif中提取框架: http : //gif-explode.com/
你可以使用pictureBox.Enabled = false;
如果你想停止GIF和pictureBox.Enabled = true;
当你想要它运行GIF时。