路径描述语言(摘自《葵花宝典:WPF自学手册》(李响))

时间:2021-08-06 14:54:52

(P407)路径描述语言的所有命令:

命令 含义

PathGeometry和PathFigure属性

Fn    设置填充规则(FillRule),其中0表示EvenOdd; 1表示NonZero,该命令在所有字符串之前。
Mx,y          开始一个新的PathFigure并且设置StartPoint为(x,y)。
Z 结束该PathFigure,并且设置IsClosed为true。如果需该PathFigure闭合,则省略该命令(?)。该命令用在一个PathFigure结束的结尾。
PathSegment

Lx,y 绘制线到(x,y)点。
A rx,ry d f1 f2 x,y                                                                 建立一个ArcSegment,rx,ry为长短半径,d表示旋转角度,(x,y)为圆弧的结束点。f1表示IsLargeArc属性,0表示false; 1表示true;f2表示SweepDirection属性,0表示逆时针;1表示顺时针。
Cx1,y1 x2,y2 x,y 建立一个BezierSegment,(x1,y1)和(x2,y2)表示两个控制点;(x,y)表示结束点。
Qx1,y1 x,y 建立一个QuadraticBezierSegment,(x1,y1)为控制点;(x,y)为结束点。
其他快捷方式

H x 创建一条到(x,y)的直线,其中y取当前点的y值;H表示水平线。
V y 创建一条到(x,y)的直线,其中x取当前点的y值;V表示垂直线。
S x2,y2 x,y              用控制点(x1,y1)和(x2,y2)创建一条到(x,y)的三次贝塞尔曲线,其中(x1,y1)会自动计算保证曲线的平滑性。
此外所有的命令都有一个对应的小写字母命令用来表示当前坐标值不是绝对值,而是相对值。如mx0,y0表示移动到(x+x0,y+y0)位置,(x,y)表示

当前点的坐标值。F、M和Z命令大小写含义相同,即可以用大小写字母表示。