アプリがインターネットを使用すると呼び出されるイベントがあります。イベントは、7フレームで構成されるアニメーションGIFを変更します。フレームを1回だけループさせるにはどうすればよいですか?
private void trafficSendingActive(object sender, trafficEventArgs e)
{
txImage.Image = Properties.Resources.blip;
}
アプリがインターネットを使用すると呼び出されるイベントがあります。イベントは、7フレームで構成されるアニメーションGIFを変更します。フレームを1回だけループさせるにはどうすればよいですか?
private void trafficSendingActive(object sender, trafficEventArgs e)
{
txImage.Image = Properties.Resources.blip;
}
GIF
進行状況イベントが完了したときに、その画像(アニメーション化されていない)から単一のフレームを抽出できます。
txImage.Image = Image.FormFile("non-animated-frame-from-gif.jpg");
このWebサイトを使用して、gifからフレームを抽出できます:http://gif-explode.com/
いつでも画像/gifを画像ボックス内にカプセル化できます。gifを停止する場合は、画像ボックスの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;
GIFを停止したい場合、およびGIFを実行したい場合に使用できますpictureBox.Enabled = true;
。