GraphicsPath 類別

定義

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

public ref class GraphicsPath sealed : MarshalByRefObject, ICloneable, IDisposable
public sealed class GraphicsPath : MarshalByRefObject, ICloneable, IDisposable
type GraphicsPath = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
Public NotInheritable Class GraphicsPath
Inherits MarshalByRefObject
Implements ICloneable, IDisposable
繼承
GraphicsPath
實作

備註

注意

在 .NET 6 和更新版本中,只有 Windows 作業系統才支援包含此類型的 System.Drawing.Common 套件。 在跨平臺應用程式中使用此類型會導致編譯時期警告和運行時間例外狀況。 如需詳細資訊,請參閱 僅限 Windows 上支援的 System.Drawing.Common

應用程式會使用路徑來繪製圖形的外框、填滿圖形的內部,以及建立裁剪區域。 圖形引擎會在世界座標空間的路徑中維護幾何圖形的座標。

路徑可能是由 (子路徑) 之任意數目的圖表所組成。 每個圖都是由連接線和曲線序列或幾何圖形基本類型所組成。 圖的起點是連接線和曲線序列中的第一個點。 結束點是序列中的最後一個點。 幾何圖形基本型別的起點和結束點是由基本規格所定義。

由連接線和曲線序列所組成的圖表, (其起點和結束點可能一致,) 為開啟的圖形,除非明確關閉。 您可以使用 方法明確關閉圖表, CloseFigure 藉由連接結束點到起點的線條來關閉目前的圖形。 由幾何圖形基本類型所組成的圖表是封閉圖。

例如,為了填滿和裁剪 (,如果使用) 轉 FillPath 譯路徑,則會關閉所有開啟的圖形,方法是將第一個點的線條新增至最後一個點。

建立路徑或關閉圖形時,會隱含地啟動新的圖形。 呼叫 方法時 StartFigure ,會明確建立新的圖形。

當幾何圖形基本類型新增至路徑時,它會新增包含幾何圖形的圖形,並隱含地啟動新的圖形。 因此,路徑中一律會有目前的圖形。 當線條和曲線新增至路徑時,會視需要新增隱含線條,以將目前圖形的結束點連接到新線條和曲線的起點,以形成一連線和曲線序列。

圖有一個方向,描述如何追蹤起點與結束點之間的線條和曲線線段。 方向是以線條和曲線新增至圖形的順序來定義,或是由幾何圖形基本類型所定義。 方向用於判斷裁剪和填滿的路徑內部。

建構函式

GraphicsPath()

使用 GraphicsPathFillMode 值,初始化 Alternate 類別的新執行個體。

GraphicsPath(FillMode)

使用指定的 GraphicsPath 列舉型別,初始化 FillMode 類別的新執行個體。

GraphicsPath(Point[], Byte[])

使用指定的 GraphicsPathPathPointType 陣列,初始化 Point 類別的新執行個體。

GraphicsPath(Point[], Byte[], FillMode)

使用指定的 GraphicsPathPathPointType 陣列以及指定的 Point 列舉型別項目,初始化 FillMode 類別的新執行個體。

GraphicsPath(PointF[], Byte[])

使用指定的 GraphicsPathPathPointType 陣列,初始化 PointF 陣列的新執行個體。

GraphicsPath(PointF[], Byte[], FillMode)

使用指定的 GraphicsPathPathPointType 陣列以及指定的 PointF 列舉型別項目,初始化 FillMode 陣列的新執行個體。

GraphicsPath(ReadOnlySpan<Point>, ReadOnlySpan<Byte>, FillMode)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

GraphicsPath(ReadOnlySpan<PointF>, ReadOnlySpan<Byte>, FillMode)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

屬性

FillMode

取得或設定 FillMode 列舉型別,此列舉型別決定如何填滿這個 GraphicsPath 中形狀的內部。

PathData

取得 PathData,它為這個 GraphicsPath 封裝點 (points) 和型別 (types) 的陣列。

PathPoints

取得路徑中的點。

PathTypes

取得 PathPoints 陣列中對應點的型別。

PointCount

取得 PathPointsPathTypes 陣列中的元素數。

方法

AddArc(Int32, Int32, Int32, Int32, Single, Single)

將橢圓弧形附加到目前的圖形。

AddArc(Rectangle, Single, Single)

將橢圓弧形附加到目前的圖形。

AddArc(RectangleF, Single, Single)

將橢圓弧形附加到目前的圖形。

AddArc(Single, Single, Single, Single, Single, Single)

將橢圓弧形附加到目前的圖形。

AddBezier(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

將立方貝茲曲線加入至目前圖形。

AddBezier(Point, Point, Point, Point)

將立方貝茲曲線加入至目前圖形。

AddBezier(PointF, PointF, PointF, PointF)

將立方貝茲曲線加入至目前圖形。

AddBezier(Single, Single, Single, Single, Single, Single, Single, Single)

將立方貝茲曲線加入至目前圖形。

AddBeziers(Point[])

將連接的三次方貝茲曲線序列加入至目前的圖形。

AddBeziers(PointF[])

將連接的三次方貝茲曲線序列加入至目前的圖形。

AddBeziers(ReadOnlySpan<Point>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddBeziers(ReadOnlySpan<PointF>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddClosedCurve(Point[])

將關閉曲線加入這個路徑。 主要曲線會被使用,因為該曲線會經過陣列中的每一個點。

AddClosedCurve(Point[], Single)

將關閉曲線加入這個路徑。 主要曲線會被使用,因為該曲線會經過陣列中的每一個點。

AddClosedCurve(PointF[])

將關閉曲線加入這個路徑。 主要曲線會被使用,因為該曲線會經過陣列中的每一個點。

AddClosedCurve(PointF[], Single)

將關閉曲線加入這個路徑。 主要曲線會被使用,因為該曲線會經過陣列中的每一個點。

AddClosedCurve(ReadOnlySpan<Point>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddClosedCurve(ReadOnlySpan<Point>, Single)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddClosedCurve(ReadOnlySpan<PointF>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddClosedCurve(ReadOnlySpan<PointF>, Single)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddCurve(Point[])

將曲線加入目前的圖形。 主要曲線會被使用,因為該曲線會經過陣列中的每一個點。

AddCurve(Point[], Int32, Int32, Single)

將曲線加入目前的圖形。

AddCurve(Point[], Single)

將曲線加入目前的圖形。

AddCurve(PointF[])

將曲線加入目前的圖形。 主要曲線會被使用,因為該曲線會經過陣列中的每一個點。

AddCurve(PointF[], Int32, Int32, Single)

將曲線加入目前的圖形。

AddCurve(PointF[], Single)

將曲線加入目前的圖形。

AddCurve(ReadOnlySpan<Point>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddCurve(ReadOnlySpan<Point>, Single)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddCurve(ReadOnlySpan<PointF>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddCurve(ReadOnlySpan<PointF>, Single)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddEllipse(Int32, Int32, Int32, Int32)

將橢圓形加入目前的路徑。

AddEllipse(Rectangle)

將橢圓形加入目前的路徑。

AddEllipse(RectangleF)

將橢圓形加入目前的路徑。

AddEllipse(Single, Single, Single, Single)

將橢圓形加入目前的路徑。

AddLine(Int32, Int32, Int32, Int32)

將直線線段附加到目前的圖形。

AddLine(Point, Point)

將線段附加至這個 GraphicsPath

AddLine(PointF, PointF)

將線段附加至這個 GraphicsPath

AddLine(Single, Single, Single, Single)

將線段附加至這個 GraphicsPath

AddLines(Point[])

將一系列連接的線段附加至這個 GraphicsPath 的結尾。

AddLines(PointF[])

將一系列連接的線段附加至這個 GraphicsPath 的結尾。

AddLines(ReadOnlySpan<Point>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddLines(ReadOnlySpan<PointF>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddPath(GraphicsPath, Boolean)

將指定的 GraphicsPath 附加至這個路徑。

AddPie(Int32, Int32, Int32, Int32, Single, Single)

將派形的外框加入這個路徑。

AddPie(Rectangle, Single, Single)

將派形的外框加入這個路徑。

AddPie(Single, Single, Single, Single, Single, Single)

將派形的外框加入這個路徑。

AddPolygon(Point[])

將多邊形加入至這個路徑。

AddPolygon(PointF[])

將多邊形加入至這個路徑。

AddPolygon(ReadOnlySpan<Point>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddPolygon(ReadOnlySpan<PointF>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddRectangle(Rectangle)

將矩形加入至這個路徑。

AddRectangle(RectangleF)

將矩形加入至這個路徑。

AddRectangles(ReadOnlySpan<Rectangle>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddRectangles(ReadOnlySpan<RectangleF>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddRectangles(Rectangle[])

將一系列的矩形加入至這個路徑。

AddRectangles(RectangleF[])

將一系列的矩形加入至這個路徑。

AddRoundedRectangle(Rectangle, Size)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddRoundedRectangle(RectangleF, SizeF)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

AddString(String, FontFamily, Int32, Single, Point, StringFormat)

將文字字串加入這個路徑。

AddString(String, FontFamily, Int32, Single, PointF, StringFormat)

將文字字串加入這個路徑。

AddString(String, FontFamily, Int32, Single, Rectangle, StringFormat)

將文字字串加入這個路徑。

AddString(String, FontFamily, Int32, Single, RectangleF, StringFormat)

將文字字串加入這個路徑。

ClearMarkers()

從這個路徑清除所有的資料標記。

Clone()

建立這個路徑的完全相同複本。

CloseAllFigures()

關閉在這個路徑中的所有開放的圖形,並開始新的圖形。 它會藉由連接從其開始點至其結束點的直線來關閉每個開放的圖形。

CloseFigure()

關閉目前的圖形,並開始新的圖形。 如果目前的圖形含有連接的直線和曲線序列,則該方法會藉由連接從結束點至開始點的直線來關閉迴圈。

CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放這個 GraphicsPath 所使用的所有資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Finalize()

允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。

Flatten()

將這個路徑中的每條曲線轉型為連接的直線線段序列。

Flatten(Matrix)

套用指定的轉換,然後將這個 GraphicsPath 中的每條曲線轉換為連接的直線線段序列。

Flatten(Matrix, Single)

將這個 GraphicsPath 中的每條曲線轉換為連接的直線線段序列。

GetBounds()

傳回限定這個 GraphicsPath 之界限的矩形。

GetBounds(Matrix)

當這個 GraphicsPath 路徑由指定的 Matrix 轉換時,會傳回限定這個路徑之界限的矩形。

GetBounds(Matrix, Pen)

當目前路徑由指定的 GraphicsPath 轉換,並使用指定的 Matrix 繪製時,會傳回限定這個 Pen 之界限的矩形。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLastPoint()

取得這個 PathPointsGraphicsPath 陣列中的最後一點。

GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetPathPoints(Span<PointF>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

GetPathTypes(Span<Byte>)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
IsOutlineVisible(Int32, Int32, Pen)

指出當使用指定的 GraphicsPath 繪製時,指定的點是否包含在這個 Pen 的外框內 (下面)。

IsOutlineVisible(Int32, Int32, Pen, Graphics)

指出當使用指定的 GraphicsPath 和指定的 Pen 繪製時,指定的點是否包含在這個 Graphics 的外框內 (下面)。

IsOutlineVisible(Point, Pen)

指出當使用指定的 GraphicsPath 繪製時,指定的點是否包含在這個 Pen 的外框內 (下面)。

IsOutlineVisible(Point, Pen, Graphics)

指出當使用指定的 GraphicsPath 和指定的 Pen 繪製時,指定的點是否包含在這個 Graphics 的外框內 (下面)。

IsOutlineVisible(PointF, Pen)

指出當使用指定的 GraphicsPath 繪製時,指定的點是否包含在這個 Pen 的外框內 (下面)。

IsOutlineVisible(PointF, Pen, Graphics)

指出當使用指定的 GraphicsPath 和指定的 Pen 繪製時,指定的點是否包含在這個 Graphics 的外框內 (下面)。

IsOutlineVisible(Single, Single, Pen)

指出當使用指定的 GraphicsPath 繪製時,指定的點是否包含在這個 Pen 的外框內 (下面)。

IsOutlineVisible(Single, Single, Pen, Graphics)

指出當使用指定的 GraphicsPath 和指定的 Pen 繪製時,指定的點是否包含在這個 Graphics 的外框內 (下面)。

IsVisible(Int32, Int32)

指出指定的點是否包含在這個 GraphicsPath 內。

IsVisible(Int32, Int32, Graphics)

使用指定的 GraphicsPath,指示這個 Graphics 內是否包含指定的點。

IsVisible(Point)

指出指定的點是否包含在這個 GraphicsPath 內。

IsVisible(Point, Graphics)

指出指定的點是否包含在這個 GraphicsPath 內。

IsVisible(PointF)

指出指定的點是否包含在這個 GraphicsPath 內。

IsVisible(PointF, Graphics)

指出指定的點是否包含在這個 GraphicsPath 內。

IsVisible(Single, Single)

指出指定的點是否包含在這個 GraphicsPath 內。

IsVisible(Single, Single, Graphics)

指示指定的點是否包含在指定 GraphicsPath 之可見裁剪區域中的這個 Graphics 內。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
Reset()

清除 PathPointsPathTypes 陣列,並將 FillMode 設定為 Alternate

Reverse()

反轉這個 PathPointsGraphicsPath 陣列中點的順序。

SetMarkers()

在這個 GraphicsPath 上設定資料標記。

StartFigure()

不關閉目前的圖形而開始新圖形。 所有後續加入至路徑的點會加入至這個新圖形。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
Transform(Matrix)

將轉換矩陣套用至這個 GraphicsPath

Warp(PointF[], RectangleF)

將由矩形和平行四邊形所定義的彎曲轉換套用至這個 GraphicsPath

Warp(PointF[], RectangleF, Matrix)

將由矩形和平行四邊形所定義的彎曲轉換套用至這個 GraphicsPath

Warp(PointF[], RectangleF, Matrix, WarpMode)

將由矩形和平行四邊形所定義的彎曲轉換套用至這個 GraphicsPath

Warp(PointF[], RectangleF, Matrix, WarpMode, Single)

將由矩形和平行四邊形所定義的彎曲轉換套用至這個 GraphicsPath

Warp(ReadOnlySpan<PointF>, RectangleF, Matrix, WarpMode, Single)

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

Widen(Pen)

將額外的外框加入至路徑。

Widen(Pen, Matrix)

將額外的外框加入至 GraphicsPath

Widen(Pen, Matrix, Single)

將這個 GraphicsPath 取代為封閉在指定的畫筆繪製這個路徑時所填滿之區域的曲線。

適用於

另請參閱