shilvyan  

通常我们使用下述三种方法来创建一个Graphics对象。

方法一、利用控件或窗体的Paint事件中的PainEventArgs

在窗体或控件的Paint事件中接收对图形对象的引用,作为PaintEventArgsPaintEventArgs指定绘制控件所用的Graphics的一部分在为控件创建绘制代码时,通常会使用此方法来获取对图形对象的引用。

例如:

//窗体的Paint事件的响应方法

private void form1_Paint(object sender, PaintEventArgs e) 

{

    Graphics g = e.Graphics;

}

也可以直接重载控件或窗体的OnPaint方法,具体代码如下所示:

protected override void OnPaint(PaintEventArgs e) 

{

    Graphics g = e.Graphics;

}

Paint事件在重绘控件时发生。

方法二、调用某控件或窗体的CreateGraphics方法

调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示该控件或窗体的绘图图面。如果想在已存在的窗体或控件上绘图,通常使用此方法。

例如:

Graphics g = this.CreateGraphics();

方法三、调用Graphics类的FromImage静态方法

从Image继承的任何对象创建Graphics对象。需要更改已存在的图像时,通常会使用此方法。

例如:

//为“g1.jpg”的图片位于当前路径下

Image img = Image.FromFile("g1.jpg");//建立Image对象

Graphics g = Graphics.FromImage(img);//创建Graphics对象

posted on 2013-05-13 09:46  shilvyan  阅读(2431)  评论(0编辑  收藏  举报