共用方式為


GDI+ 中的畫筆、線條和矩形

若要使用 GDI+ 繪製線條,您需要建立 Graphics 物件和 Pen 物件。 Graphics 物件會提供實際執行繪圖的方法,而 Pen 物件會儲存屬性,例如線條色彩、寬度和樣式。

繪製線條

若要繪製線條,請呼叫 Graphics 物件的 DrawLine 方法。 Pen 物件會作為其中一個引數傳遞至 DrawLine 方法。 下列範例會從點 (4, 2) 到點 (12, 6):

myGraphics.DrawLine(myPen, 4, 2, 12, 6);
myGraphics.DrawLine(myPen, 4, 2, 12, 6)

DrawLineGraphics 類別的多載方法,因此您可以透過數種方式來提供引數。 例如,您可以建構兩個 Point 物件,並將 Point 物件當做引數傳遞至 DrawLine 方法:

Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);
Dim myStartPoint As New Point(4, 2)
Dim myEndPoint As New Point(12, 6)
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)

建構畫筆

您可以在建構 Pen 物件時指定特定屬性。 例如,一個 Pen 建構函式可讓您指定色彩和寬度。 下列範例會繪製寬度為 2 的藍色線條,從 (0, 0) 到 (60, 30):

Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);
Dim myPen As New Pen(Color.Blue, 2)
myGraphics.DrawLine(myPen, 0, 0, 60, 30)

虛線和線條頭尾圖案

Pen 物件也會公開屬性,例如 DashStyle,您可以用來指定線條的功能。 下列範例會繪製從 (100, 50) 到 (300, 80) 的虛線:

myPen.DashStyle = DashStyle.Dash;
myGraphics.DrawLine(myPen, 100, 50, 300, 80);
myPen.DashStyle = DashStyle.Dash
myGraphics.DrawLine(myPen, 100, 50, 300, 80)

您可以使用 Pen 物件的屬性來設定線條的更多屬性。 StartCapEndCap 屬性會指定線條結尾的外觀;端點可以是平面、正方形、圓角、三角形或自訂圖形。 屬性 LineJoin 可讓您指定連接線條是否為斜接角 (與尖角聯結)、斜切角、圓角或裁剪。 下圖顯示具有各種頭尾圖案和聯結樣式的線條。

線條

繪製矩形

使用 GDI+ 繪製矩形類似於繪製線條。 若要繪製矩形,您需要 Graphics 物件和 Pen 物件。 Graphics 物件會提供 DrawRectangle 方法,Pen 物件則會儲存屬性,例如線條寬度和色彩。 Pen 物件會作為其中一個引數傳遞至 DrawRectangle 方法。 下列範例會繪製一個矩形,其左上角位於 (100, 50),寬度為 80,高度為 40:

myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)

DrawRectangleGraphics 類別的多載方法,因此您可以透過數種方式來提供引數。 例如,您可以建構 Rectangle 物件,並將 Rectangle 物件傳遞至 DrawRectangle 方法做為引數:

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, myRectangle)

Rectangle 物件具有用來操作和收集矩形相關資訊的方法和屬性。 例如,InflateOffset 方法會變更矩形的大小和位置。 IntersectsWith 方法會告訴您矩形是否交集另一個指定的矩形,而 Contains 方法則會告訴您指定的點是否位於矩形內。

另請參閱