3.3.3 在屏幕上绘制位图
准备好Bitmap对象以后,就可以将它绘制到屏幕上了,这里需要使用Graphics.DrawImage函数,参见程序清单3-10。
程序清单3-10 在屏幕上绘制位图
private void MyForm_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(myBitmap, 50, 50);
}
这段代码将一个位图图像的副本绘制在窗体的(50,50)坐标处。该坐标为图像左上角所在的位置。
在调用DrawImage函数时,还可以利用一些附加功能,所以接下来我们就看看这些功能。
1. 复制部分位图
程序清单3-10中的例子只是简单地使用GDI将整个位图图像复制到窗体的某个点上。我们还可以只将位图的一个子部分显示到屏幕上。这样我们利用一个图像就能够创建一个多帧动画,然后按顺序将每一帧复制到屏幕上(如图3-13所示)。
图3-13 在一个单独的图形文件中保存多帧动画中的每一帧
当调用DrawImage函数时,如果提供两个矩形对象参数,就可以只复制原图像的一个子部分:第一个参数定义了输出图像的位置和尺寸,第二个参数指定了从原位图中所要复制的图像的位置和尺寸。
在如图3-13所示的动画帧中,每个图像都是75×75像素。因此我们可以复制动画中的每一帧,参见程序清单3-11。