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 数组的新实例。

属性

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[])

在当前图形中添加一系列相互连接的立方贝塞尔曲线。

AddClosedCurve(Point[])

向此路径添加一个闭合曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。

AddClosedCurve(Point[], Single)

向此路径添加一个闭合曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。

AddClosedCurve(PointF[])

向此路径添加一个闭合曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。

AddClosedCurve(PointF[], Single)

向此路径添加一个闭合曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。

AddCurve(Point[])

向当前图形添加一段样条曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。

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

向当前图形添加一段样条曲线。

AddCurve(Point[], Single)

向当前图形添加一段样条曲线。

AddCurve(PointF[])

向当前图形添加一段样条曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。

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

向当前图形添加一段样条曲线。

AddCurve(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 末尾追加一系列相互连接的线段。

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[])

向此路径添加多边形。

AddRectangle(Rectangle)

向此路径添加一个矩形。

AddRectangle(RectangleF)

向此路径添加一个矩形。

AddRectangles(Rectangle[])

向此路径添加一系列矩形。

AddRectangles(RectangleF[])

向此路径添加一系列矩形。

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)
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 应用由一个矩形和一个平行四边形定义的扭曲变换。

Widen(Pen)

向该路径添加附加轮廓。

Widen(Pen, Matrix)

向该 GraphicsPath 添加附加轮廓。

Widen(Pen, Matrix, Single)

在用指定的钢笔绘制此路径时,用包含所填充区域的曲线代替此 GraphicsPath

适用于

另请参阅