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 及更高版本中, System.Drawing.Common 包(包括此类型)仅在 Windows 操作系统上受支持。 在跨平台应用中使用此类型会导致编译时警告和运行时异常。 有关详细信息,请参阅 System.Drawing.Common 仅在 Windows 上受支持

应用程序使用路径绘制形状轮廓、填充形状的内部以及创建剪裁区域。 图形引擎维护世界坐标空间中路径中几何形状的坐标。

路径可以由任意数量的数字组成, (子路径) 。 每个图形由一系列连接的线条和曲线或几何形状基元组成。 图形的起点是连接线和曲线序列中的第一个点。 终点是序列中的最后一个点。 几何形状基元的起点和终点由基元规范定义。

由一系列连接的直线和曲线组成的图形, (其起点和终点可能重合,) 为开放图形,除非它显式关闭。 可以使用 方法显式关闭图形, 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)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 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()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetPathPoints(Span<PointF>)

表示一系列相互连接的直线和曲线。 此类不能被继承。

GetPathTypes(Span<Byte>)

表示一系列相互连接的直线和曲线。 此类不能被继承。

GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
IsOutlineVisible(Int32, Int32, Pen)

指示当使用指定的 Pen 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsOutlineVisible(Int32, Int32, Pen, Graphics)

指示当使用指定的 PenGraphics 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsOutlineVisible(Point, Pen)

指示当使用指定的 Pen 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsOutlineVisible(Point, Pen, Graphics)

指示当使用指定的 PenGraphics 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsOutlineVisible(PointF, Pen)

指示当使用指定的 Pen 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsOutlineVisible(PointF, Pen, Graphics)

指示当使用指定的 PenGraphics 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsOutlineVisible(Single, Single, Pen)

指示当使用指定的 Pen 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsOutlineVisible(Single, Single, Pen, Graphics)

指示当使用指定的 PenGraphics 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。

IsVisible(Int32, Int32)

指示指定点是否包含在此 GraphicsPath 内。

IsVisible(Int32, Int32, Graphics)

使用指定的 Graphics,指示指定点是否包含在此 GraphicsPath 内。

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

适用于

另请参阅