当我的应用程序使用互联网时,我有一个事件被调用。该事件更改了一个由 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;
}
GIF
进度事件完成后,您可以从该图像(非动画)中提取单帧,
txImage.Image = Image.FormFile("non-animated-frame-from-gif.jpg");
您可以使用此网站从 gif 中提取帧:http: //gif-explode.com/
您总是可以将图像/gif 封装在 Picturebox 中,当您希望 gif 停止时,只需将 Picturebox 的 Enabled 属性设置为 false。
只是一个想法。
您可以使用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
}
pictureBox.Enabled = false;
如果你想停止 GIFpictureBox.Enabled = true;
并且当你希望它运行 GIF 时,你可以使用。