共用方式為


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

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

繪製線條

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

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

DrawLine 是 類別的多 Graphics 載方法,因此有數種方式可讓您提供引數。 例如,您可以建構兩個 Point 物件,並將 物件當做引數傳遞 PointDrawLine 方法:

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 可讓您指定連接線是否被誤導(與尖角聯結)、斜面、圓角或裁剪。 下圖顯示具有各種大寫和聯結樣式的線條。

Lines

繪製矩形

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

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

DrawRectangle 是 類別的多 Graphics 載方法,因此有數種方式可讓您提供引數。 例如,您可以建構 Rectangle 物件,並將 物件當做引數傳遞 RectangleDrawRectangle 方法:

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 方法會告訴您指定的點是否位於矩形內。

另請參閱