图像处理之动画
动画是若干静态画面快速交替显示而成的,因人的眼睛会产生视角停留,对上一个画面的感知还未消失,下一张画面又出现,就会有动的感觉。因此可以连续播放多张图片来实现动画效果,播放或显示图片可以使用Graphics类的DrawImage方法,介绍一个常用的。
public void DrawImage(Image image,Rectangle destRect,int srcX,int srcY,int srcWidth,int srcHeight,GraphicsUnit srcUnit);
各参数代表的含义如下:
image:表示要绘制的图像
destRect:表示指定绘制图像的位置和大小
srcX:表示源图像部分左上角的X坐标
srcY:表示源图像部分左上角的Y坐标
srcWidth:表示源图像部分的宽度
srcHeight:表示源图像部分的高度
srcUnit:表示源矩形的度量单位,取值于GracphicsUnit枚举
编程实现动画效果
新建项目:windows窗体应用程序
添加控件:图片框pictureBox1,属性sizemode为StrechImage,按钮button1,属性Text值为“播放动画”,ImageList控件,添加图片集合,定时器Timer.
双击button1添加播放动画按钮事件处理程序
int count = 0;//全局变量 Graphics g; private void button1_Click(object sender, EventArgs e) { g = pictureBox1.CreateGraphics(); timer1.Interval = 150; timer1.Start(); }
双击Timer添加定时器事件响应事件处理程序,其中count指的是imageList控件中要播放的图片索引
private void timer1_Tick(object sender, EventArgs e) { count++; if (count > 25) count = 0; g.DrawImage(imageList1.Images[count],0,0,200,200); }

浙公网安备 33010602011771号