C#每天抄一点(29):GIF
27 Oct 2011ImageAnimator.UpdateFrames()
使该帧在当前正被动画处理的所有图像中前移。 新帧在下一次呈现图像时绘制。
Invalidate()
Invalidate 方法控制绘制或重新绘制的内容。
ImageAnimator.Animate
将多帧图像显示为动画。
01 /*
02 * 由SharpDevelop创建。
03 * 用户: Lazynight
04 * 日期: 2011/10/27
05 * 时间: 20:58
06 *
07 * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
08 */
09 using System;
10 using System.Collections.Generic;
11 using System.Drawing;
12 using System.Windows.Forms;
13
14 namespace Lazy29_GIF
15 {
16
17 public partial class MainForm : Form
18 {
19 Bitmap bitmap=new Bitmap(Application.StartupPath+“\\lazynight.gif”);
20 //定义Bitmap对象,并赋值为制定的gif动画
21 bool current=false;
22 //定义布尔型全局变量,并赋值为假
23 public MainForm()
24 {
25 InitializeComponent();
26 }
27 void Button1Click(object sender, EventArgs e)
28 {
29 PlayImage();
30 //调用playimage方法
31 ImageAnimator.Animate(bitmap,new EventHandler(this.OnFrameChanged));
32 //播放GIF
33 }
34 void Button2Click(object sender, EventArgs e)
35 {
36 ImageAnimator.StopAnimate(bitmap,new EventHandler(this.OnFrameChanged));
37 // 停止播放GIF
38 }
39 public void PlayImage()
40 {
41 if(!current)
42 {
43 ImageAnimator.Animate(bitmap,new EventHandler(this.OnFrameChanged));
44 //调用Animate方法实现动态播放GIF动画
45 current =true;
46 //布尔变量current为真
47 }
48 }
49 private void OnFrameChanged(object o,EventArgs e)
50 {
51 this.Invalidate();
52 }
53 protected override void OnPaint(PaintEventArgs e)
54 {
55 e.Graphics.DrawImage(this.bitmap,new Point(20,20));
56 //绘出GIF动画
57 ImageAnimator.UpdateFrames();
58 //调用uodateframes方法
59 }
60 }
61 }
02 * 由SharpDevelop创建。
03 * 用户: Lazynight
04 * 日期: 2011/10/27
05 * 时间: 20:58
06 *
07 * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
08 */
09 using System;
10 using System.Collections.Generic;
11 using System.Drawing;
12 using System.Windows.Forms;
13
14 namespace Lazy29_GIF
15 {
16
17 public partial class MainForm : Form
18 {
19 Bitmap bitmap=new Bitmap(Application.StartupPath+“\\lazynight.gif”);
20 //定义Bitmap对象,并赋值为制定的gif动画
21 bool current=false;
22 //定义布尔型全局变量,并赋值为假
23 public MainForm()
24 {
25 InitializeComponent();
26 }
27 void Button1Click(object sender, EventArgs e)
28 {
29 PlayImage();
30 //调用playimage方法
31 ImageAnimator.Animate(bitmap,new EventHandler(this.OnFrameChanged));
32 //播放GIF
33 }
34 void Button2Click(object sender, EventArgs e)
35 {
36 ImageAnimator.StopAnimate(bitmap,new EventHandler(this.OnFrameChanged));
37 // 停止播放GIF
38 }
39 public void PlayImage()
40 {
41 if(!current)
42 {
43 ImageAnimator.Animate(bitmap,new EventHandler(this.OnFrameChanged));
44 //调用Animate方法实现动态播放GIF动画
45 current =true;
46 //布尔变量current为真
47 }
48 }
49 private void OnFrameChanged(object o,EventArgs e)
50 {
51 this.Invalidate();
52 }
53 protected override void OnPaint(PaintEventArgs e)
54 {
55 e.Graphics.DrawImage(this.bitmap,new Point(20,20));
56 //绘出GIF动画
57 ImageAnimator.UpdateFrames();
58 //调用uodateframes方法
59 }
60 }
61 }
转载请注明:于哲的博客 » C#每天抄一点(29):GIF