我有,当我的应用程序使用互联网时调用的事件。 事件改变7帧组成的动画GIF。 我如何让它只遍历帧只有一次?
private void trafficSendingActive(object sender, trafficEventArgs e)
{
txImage.Image = Properties.Resources.blip;
}
我有,当我的应用程序使用互联网时调用的事件。 事件改变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。