如何:建立繪製的圖形物件
您必須先建立 Graphics 物件,才能使用 GDI+ 繪製線條和圖形、呈現文字或顯示及操作影像。 Graphics 物件代表 GDI+ 繪圖表面,而且是用來建立圖形影像的物件。
使用圖形有兩個步驟:
建立圖形物件
圖形物件可以透過各種方式建立。
建立圖形物件
在表單或控制項的 Paint 事件中,接收圖形物件的參考,作為 PaintEventArgs 的一部分。 這通常是您在為控制項建立繪製程式碼時,取得圖形物件參考的方式。 同樣地,您也可以在處理 PrintDocument 的 PrintPage 事件時,取得圖形物件作為 PrintPageEventArgs 的屬性。
-或-
呼叫控制項或表單的 CreateGraphics 方法,以取得代表該控制項或表單繪圖表面的 Graphics 物件的參考。 如果您想要在已經存在的表單或控制項上繪製,請使用此方法。
-或-
從繼承自 Image 的任何物件建立 Graphics物件。 當您想要改變已經存在的影像時,這個方法很有用。
下列各節提供每個程式的詳細資料。
Paint 事件處理常式中的 PaintEventArgs
針對控制項的 PaintEventHandler 或 PrintDocument 的 PrintPage 進行程式設計,會提供圖形物件作為 PaintEventArgs 或 PrintPageEventArgs 的其中一個屬性。
若要從 Paint 事件中的 PaintEventArgs 取得 Graphics 物件的參考
宣告 Graphics 物件。
指派變數,以參考傳遞為 PaintEventArgs 一部分的 Graphics 物件。
插入程式碼以繪製表單或控制項。
下列範例示範如何從 Paint 事件中的 PaintEventArgs 參考 Graphics 物件:
Private Sub Form1_Paint(sender As Object, pe As PaintEventArgs) Handles _ MyBase.Paint ' Declares the Graphics object and sets it to the Graphics object ' supplied in the PaintEventArgs. Dim g As Graphics = pe.Graphics ' Insert code to paint the form here. End Sub
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics g = pe.Graphics; // Insert code to paint the form here. }
private: void Form1_Paint(System::Object ^ sender, System::Windows::Forms::PaintEventArgs ^ pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics ^ g = pe->Graphics; // Insert code to paint the form here. }
CreateGraphics 方法
您也可以使用控制項或表單的 CreateGraphics 方法,取得代表該控制項或表單繪圖介面之 Graphics 物件的參考。
使用 CreateGraphics 方法建立 Graphics 物件
呼叫您要呈現圖形的表單或控制項的 CreateGraphics 方法。
Dim g as Graphics ' Sets g to a Graphics object representing the drawing surface of the ' control or form g is a member of. g = Me.CreateGraphics
Graphics g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this.CreateGraphics();
Graphics ^ g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this->CreateGraphics();
從 Image 物件建立
此外,您可以從衍生自 Image 類別的任何物件建立圖形物件。
從 Image 建立 Graphics 物件
呼叫 Graphics.FromImage 方法,並提供您要建立 Graphics 物件之 Image 變數的名稱。
下列範例示範如何使用 Bitmap 物件:
Dim myBitmap as New Bitmap("C:\Documents and Settings\Joe\Pics\myPic.bmp") Dim g as Graphics = Graphics.FromImage(myBitmap)
Bitmap myBitmap = new Bitmap(@"C:\Documents and Settings\Joe\Pics\myPic.bmp"); Graphics g = Graphics.FromImage(myBitmap);
Bitmap ^ myBitmap = gcnew Bitmap("D:\\Documents and Settings\\Joe\\Pics\\myPic.bmp"); Graphics ^ g = Graphics::FromImage(myBitmap);
注意
您只能從非索引 .bmp 檔案建立 Graphics 物件,例如 16 位、24 位和 32 位 .bmp 檔案。 非索引.bmp 檔案的每個像素都會保留色彩,與索引 .bmp 檔案像素相反,這些檔案會保存色彩資料表的索引。
繪製和操作圖形和影像
建立之後,Graphics 物件可用來繪製線條和圖形、呈現文字或顯示及操作影像。 與 Graphics 物件搭配使用的主體物件如下:
Pen 類別 — 用於繪製線條、大綱圖形,或呈現其他幾何表示。
Brush 類別 — 用於填滿圖形的區域,例如填滿圖形、影像或文字。
Font 類別 — 提供呈現文字時要使用的圖形描述。
Color 結構 — 代表要顯示的不同色彩。
若要使用您已建立的 Graphics 物件
使用上面所列的適當物件來繪製您需要的內容。
如需詳細資訊,請參閱下列主題:
若要呈現 請參閱 線條 操作說明:在 Windows Form 上繪製線條 圖形 操作說明:繪製外框形狀 Text 操作說明:在 Windows Forms 上繪製文字 影像 操作說明:使用 GDI+ 呈現影像