GraphicsPath 类
表示一系列相互连接的直线和曲线。
属性
FillMode | 获取或设置一个 FillMode 枚举,确定此 GraphicsPath 中的形状的内部如何填充。 |
PathData | 获取一个 PathData,它封装此 |
PathPoints | 获取路径中的点。 |
PathTypes | 获取 PathPoints 数组中相应点的类型。 |
PointCount | 获取 PathPoints 或 PathTypes 数组中的元素数。 |
方法
AddArc(Int32, Int32, Int32, Int32, Single, Single) | 向当前图形追加一段椭圆弧。 |
AddBezier(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) | 在当前图形中添加一段立方贝塞尔曲线。 |
AddClosedCurve(Point[]) | 向此路径添加一个闭合曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。 |
AddCurve(Point[]) | 向当前图形添加一段样条曲线。 由于曲线经过数组中的每个点,因此使用基数样条曲线。 |
AddEllipse(Int32, Int32, Int32, Int32) | 向当前路径添加一个椭圆。 |
AddLine(Int32, Int32, Int32, Int32) | 向当前图形追加一条线段。 |
AddLines(Point[]) | 向此 GraphicsPath 末尾追加一系列相互连接的线段。 |
AddPath(GraphicsPath, Boolean) | 将指定的 GraphicsPath 追加到该路径。 |
AddPie(Int32, Int32, Int32, Int32, Single, Single) | 向此路径添加一个扇形轮廓。 |
AddPolygon(Point[]) | 向此路径添加多边形。 |
AddRectangle(Rectangle) | 向此路径添加一个矩形。 |
AddString(String, FontFamily, Int32, Single, Point, StringFormat) | 向此路径添加文本字符串。 |
CloseAllFigures() | 闭合此路径中所有开放的图形并开始一个新图形。 它通过连接一条从图形的终结点到起始点的直线,闭合每一开放的图形。 |
Flatten() | 将此路径中的各段曲线转换成相连的线段序列。 |
Reset() | 清空 PathPoints 和 PathTypes 数组并将 FillMode 设置为 Alternate。 |
Warp(PointF[], RectangleF) | 对此 GraphicsPath 应用由一个矩形和一个平行四边形定义的扭曲变换。 |
对话框具有很多系统事件,Paint事件就是其中一种.当对话框加载或是对话框被遮盖,需要由Windows重新画出对话框时,将触发Paint事件,PaintEventArgS类对象为Paint事件提供数据。
PaintEventArgs类的属性与方法主要包括:
ClipRectangle,指示将在其中绘画的矩形;
Graphics,用于绘图的图形设备对象。
Graphics类的定义中,定义了有关路径的绘制与填充的方法。
绘制路径使用方法DrawPath.该方法的定义形式如下所示:
Public Sub DrawPath (ByVal pen As Pen, ByVal path As GraphicsPath)
该方法用于绘制山路径中已经存往的图形口第一个参数pen是绘图笔对象:第二个参数path即是路径GraphicsPath类对象。
FiIIPath方法用于填充GraphicsPath对象内部。FiIIPath方法的定义形式如下所示:
Public Sub Fi/lPath(ByVal brush As Brush, ByVal path As GraphicsPath)
第一个参数为画刷对象;第二个参数为路径对象。
没有控件
Imports System.Drawing.Drawing2D
Public Class Form1
Dim myGraph As Graphics
Dim myPath As New GraphicsPath
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
myGraph = e.Graphics
myPath.Reset()
myPath.AddEllipse(New Rectangle(10, 10, 100, 100))
myGraph.DrawPath(New Pen(Color.Red, 3), myPath)
myPath.AddEllipse(New Rectangle(30, 30, 60, 60))
myGraph.DrawPath(New Pen(Color.Blue), myPath)
myGraph.FillPath(New SolidBrush(Color.Yellow), myPath)
End Sub
End Class