c 建立Graphics物件的三種方法

2022-09-26 09:30:13 字數 994 閱讀 7344

方法

一、利用控制項或窗體的paint事件中的paineventargs

在程式設計客棧窗體或控制項的paint事件中接收對圖形物件的引用,作為painteventargs(painteventargs指定繪製控制項所用的graphics)的一部分,在為控制項建立繪製**時,通常會使用此方法來獲取對圖形物件的引用。

例如://窗體的paint事件的響應方法

複製** **如下:

private void form1_paint(object sender, painteventargs e)

graphics g = e.graphics;

}也可以直接過載控制項或窗體的onpaint方法,具體**如下所示:

複製** **如下:

protected override void onpaint(painteventargs e)

程式設計客棧;   graphics gzwuum = 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物件

本文標題: c#建立graphics物件的三種方法

本文位址:

Graphics 不能建立有索引畫素格式的物件

奇怪的是 vs2005 vc 並不提示錯誤,我是查了很多資料,才知道為什麼我的程式總是實現不了所要求的效果 如果乙個影象格式是索引的 pixelformat1bppindexed pixelformat4bppindexed pixelformat8bppindexed 則不能建立這個影象的grap...

C 建立物件的三種方式

c 中有三種建立物件的方法 include using namespace std class a a int main 第一種和第二種沒什麼區別,乙個隱式呼叫,乙個顯式呼叫,兩者都是在程序虛擬位址空間中的棧中分配記憶體,而第三種使用了new,在堆中分配了記憶體,而棧中記憶體的分配和釋放是由系統管理...

C 建立物件的三種方式

出處 c 中有三種建立物件的方法 include using namespace std class a a int main 第一種和第二種沒什麼區別,乙個隱式呼叫,乙個顯式呼叫,兩者都是在程序虛擬位址空間中的棧中分配記憶體,而第三種使用了new,在堆中分配了記憶體,而棧中記憶體的分配和釋放是由系...