方法一、利用控件或窗體的Paint事件中的PainEventArgs
在窗體或控件的Paint事件中接收對圖形對象的引用,作為PaintEventArgs(PaintEventArgs指定繪制控件所用的Graphics)的一部分,在為控件創(chuàng)建繪制代碼時(shí),通常會使用此方法來獲取對圖形對象的引用。
例如:
//窗體的Paint事件的響應(yīng)方法
復(fù)制代碼 代碼如下:
private void form1_Paint(object sender, PaintEventArgs e)
{
??? Graphics g = e.Graphics;
}
也可以直接重載控件或窗體的OnPaint方法,具體代碼如下所示:
復(fù)制代碼 代碼如下:
protected override void OnPaint(PaintEventArgs e)
{
??? Graphics g = e.Graphics;
}
Paint事件在重繪控件時(shí)發(fā)生。
方法二、調(diào)用某控件或窗體的CreateGraphics方法
調(diào)用某控件或窗體的CreateGraphics方法以獲取對Graphics對象的引用,該對象表示該控件或窗體的繪圖圖面。如果想在已存在的窗體或控件上繪圖,通常會使用此方法。
例如:
Graphics g = this.CreateGraphics();
方法三、調(diào)用Graphics類的FromImage靜態(tài)方法
由從Image繼承的任何對象創(chuàng)建Graphics對象。在需要更改已存在的圖像時(shí),通常會使用此方法。
例如:
復(fù)制代碼 代碼如下:
//名為“g1.jpg”的圖片位于當(dāng)前路徑下
Image img = Image.FromFile("g1.jpg");//建立Image對象
Graphics g = Graphics.FromImage(img);//創(chuàng)建Graphics對象
詳細(xì)出處參考: