图像处理之动画

动画是若干静态画面快速交替显示而成的,因人的眼睛会产生视角停留,对上一个画面的感知还未消失,下一张画面又出现,就会有动的感觉。因此可以连续播放多张图片来实现动画效果,播放或显示图片可以使用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);
        }

 

posted @ 2017-06-30 16:21  浅恋湾  阅读(323)  评论(0)    收藏  举报