Path之Data属性语法A命令
移动命令
指定新图形的起点,只有一个M。
M/m 命令
<Path Width="300" Height="300" Fill="Red" Data="M 100,100 L 100,0 A100,100, 0 0 1 200,100" />
语法: M startPoint 例如 M 100,100,绘制点移动到100,100
注意命令大写为绝对坐标,命令小写为相当坐标
绘制命令
绘图命令可以包含多个形状命令。 以下形状命令可用:线条L、水平线H、垂直线V、立方贝塞尔曲线C、二次贝塞尔曲线Q、平滑立方贝塞尔曲线S、平滑二次贝塞尔曲线T和椭圆弧A。
L 命令
<Path Data="M 100,100 L200,200 " Stroke="Red" StrokeThickness="2" />
语法: L endPoint

H 命令
<Path Data="M 100,100 H200 " Stroke="Red" StrokeThickness="2" />
语法: H x

V 命令
<Path Data="M 100,100 V200 " Stroke="Red" StrokeThickness="2" />
语法: V y

C/S 命令
C命令和S命令常常一起使用
语法:
C controlPoint1controlPoint2endPoint
使用两个指定的控制点(controlPoint1 和 controlPoint2)在当前点和指定终点之间创建立方贝塞尔曲线。 C 100,200 200,400 300,200 是有效曲线命令的示例。
<Path Data="M 10,100 C 100,0 200,200 300,100" Stroke="Black" StrokeThickness="1" />

S controlPoint2endPoint
在当前点和指定的终点之间创建二次贝塞尔曲线。 假设控制点是上一条命令的控制点相对于当前点的反射。
如果没有上一个命令,或者如果上一个命令不是二次贝塞尔曲线命令或平滑二次贝塞尔曲线命令,则控制点与当前点相吻合。
<Path Data="M 100,0 S 200,200 300,100" Stroke="Black" StrokeThickness="1" />

例如:如下两命令的红色线条是重叠的
<Path Data="M200,200 C210,270 200,270 300,300 S330,360 400,400" Stroke="Orange" />
<Path Data="M300,300 C400,330 330,360 400,400" Stroke="Red" />

Q/T 命令
Q命令和T命令常常一起使用
语法:
Q controlPoint endPoint
使用指定的控制点(controlPoint)在当前点和指定终点之间创建二次贝塞尔曲线。
<Path Data="M100,100 Q110,190 200,200" Stroke="Blue" StrokeThickness="5" />

T endPoint
在当前点和指定的终点之间创建二次贝塞尔曲线。
假设控制点是上一条命令的控制点相对于当前点的反射。
如果没有上一个命令,或者如果上一个命令不是二次贝塞尔曲线命令或平滑二次贝塞尔曲线命令,则控制点与当前点相吻合。
使用指定的控制点(controlPoint)在当前点和指定终点之间创建二次贝塞尔曲线。
<Path Data="M100,100 Q110,190 200,200 T310,270" Stroke="Red" StrokeThickness="3" />
红色为T生成的线段

A命令
<Path Width="300" Height="300" Fill="Red" Data="M 100,100 L 100,0 A100,100, 0 0 1 200,100" />
语法:A size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint
参数:
前两个(100,100)是椭圆的两个半径size ;
中间三个(0 0 1)第一个表示旋转角度,第二个表示是否为优势弧 如果弧的角度大于等于180度,则设为1,否则为0;
第三个表示方向 ,当正角方向绘制时设为1,否则为0,这个值为0时为凹进去的效果;
最后200,100是结束点
0 0 1 的效果
0 0 0 的效果
0 1 0 的效果
0 1 1 的效果
最后两个表示 结束点,开始点由前一个点确定。即两点加上半径确定唯一的圆。

浙公网安备 33010602011771号