如何:填滿開放圖形
您可以將 GraphicsPath 物件傳遞至 FillPath 方法以填滿路徑。 FillPath 方法會根據目前為路徑設定的填滿模式 (替代或捲繞) 來填滿路徑。 如果路徑有任何開放圖形,路徑就會填滿,如同這些圖形已關閉一樣。 GDI+ 會藉由從終點到起點繪製一條直線來關閉圖形。
範例
下列範例會建立一個路徑,其中包含一個開放圖形 (弧線) 和一個封閉圖形 (橢圓形)。 FillPath 方法會根據預設填滿模式 (也就是 Alternate) 填滿路徑。
下圖顯示範例程式碼的輸出。 請注意,路徑已填滿 (根據 Alternate),如同已從終點到起點繪製一條直線來關閉開放圖形一樣。
GraphicsPath path = new GraphicsPath();
// Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120);
// Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100);
Pen pen = new Pen(Color.FromArgb(128, 0, 0, 255), 5);
SolidBrush brush = new SolidBrush(Color.Red);
// The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path);
e.Graphics.DrawPath(pen, path);
Dim path As New GraphicsPath()
' Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120)
' Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100)
Dim pen As New Pen(Color.FromArgb(128, 0, 0, 255), 5)
Dim brush As New SolidBrush(Color.Red)
' The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path)
e.Graphics.DrawPath(pen, path)
編譯程式碼
上述範例是為了搭配 Windows Forms 使用而設計,且其需要 PaintEventArgse
,這是 Paint 事件處理常式的參數。