一个播放gif图片的实例,如图
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace PlayGifAnimation
{
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
Bitmap bitmap = new Bitmap(Application.StartupPath "\\1.gif"); //实例化一个GDI 绘图图面对象
bool current = false; //初始化一个bool型的变量current
public void PlayImage()
{
if (!current) //当该值为true时
{
ImageAnimator.Animate(bitmap, new EventHandler(this.OnFrameChanged)); //将多帧图片显示为动画图像
current = true; //设定current的值为true
}
}
private void OnFrameChanged(object o, EventArgs e)
{
this.Invalidate(); //使控件的整个图片无效并导致重绘事件
}
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawImage(this.bitmap, new Point(1, 1)); //从指定的位置绘制图片
ImageAnimator.UpdateFrames(); //使该帧在当前正被图画处理的所有图像中前移
}
private void button1_Click(object sender, EventArgs e)
{
PlayImage(); //播放
ImageAnimator.Animate(bitmap, new EventHandler(this.OnFrameChanged)); //将多帧图像显示为动画
}
private void button2_Click(object sender, EventArgs e)
{
ImageAnimator.StopAnimate(bitmap, new EventHandler(this.OnFrameChanged)); //停止
}
}
}
资源文件列表
PlayGifAnimation/PlayGifAnimation.sln , 938
PlayGifAnimation/PlayGifAnimation.suo , 15360
PlayGifAnimation/PlayGifAnimation.v11.suo , 26624
PlayGifAnimation/PlayGifAnimation/bin/Debug/1.gif , 1327347
PlayGifAnimation/PlayGifAnimation/bin/Debug/PlayGifAnimation.exe , 9216
PlayGifAnimation/PlayGifAnimation/bin/Debug/PlayGifAnimation.pdb , 24064
PlayGifAnimation/PlayGifAnimation/Frm_Main.cs , 1756
PlayGifAnimation/PlayGifAnimation/Frm_Main.designer.cs , 2676
PlayGifAnimation/PlayGifAnimation/Frm_Main.resx , 5814
PlayGifAnimation/PlayGifAnimation/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 7188
PlayGifAnimation/PlayGifAnimation/obj/Debug/PlayGifAnimation.csproj.FileListAbsolute.txt , 2539
PlayGifAnimation/PlayGifAnimation/obj/Debug/PlayGifAnimation.csproj.GenerateResource.Cache , 850
PlayGifAnimation/PlayGifAnimation/obj/Debug/PlayGifAnimation.csprojResolveAssemblyReference.cache , 1757
PlayGifAnimation/PlayGifAnimation/obj/Debug/PlayGifAnimation.exe , 9216
PlayGifAnimation/PlayGifAnimation/obj/Debug/PlayGifAnimation.Frm_Main.resources , 180
PlayGifAnimation/PlayGifAnimation/obj/Debug/PlayGifAnimation.pdb , 24064
PlayGifAnimation/PlayGifAnimation/obj/Debug/PlayGifAnimation.Properties.Resources.resources , 180
PlayGifAnimation/PlayGifAnimation/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll , 4608
PlayGifAnimation/PlayGifAnimation/PlayGifAnimation.csproj , 4001
PlayGifAnimation/PlayGifAnimation/Program.cs , 500
PlayGifAnimation/PlayGifAnimation/Properties/AssemblyInfo.cs , 1364
PlayGifAnimation/PlayGifAnimation/Properties/Resources.Designer.cs , 2872
PlayGifAnimation/PlayGifAnimation/Properties/Resources.resx , 5612
PlayGifAnimation/PlayGifAnimation/Properties/Settings.Designer.cs , 1116
PlayGifAnimation/PlayGifAnimation/Properties/Settings.settings , 249
