先来说明下,大写字母表示绝对位置,小写字母表示相对前一个点的位置
一、直线
(1)只标注点
x、y 分别表示点的横、纵坐标,不做绘制操作
M x, y
(2)画线
L 用来画某个点到(x, y)的直线
L x, y
H 用来画横坐标的线,参数表示直线长度
H x
V 用来画纵坐标的线,参数表示直线长度
V y
(3)闭合
L 起点坐标 可实现闭合,或者 Z 来实现
L 0, 0
Z
二、曲线
(1)贝塞尔曲线
三次贝塞尔曲线
(x1, y1)表示起点的控制点,(x2, y2)表示终点的控制点,(x3, y3)表示终点
C x1 y1, x2 y2, x3 y3
如果 S 前面有 C 或者 S 命令,则以前一个曲线的终点控制点的对称点作为起始控制点,(x1, y1)表示终点的控制点,(x2, y2)表示终点。
如果 S 单独使用,则等同 Q 命令。
S x1 y1, x2 y2
二次贝塞尔曲线
(x1, y1)表示起终点的控制点,(x2, y2)表示终点
Q x1 y1, x2 y2
如果 T 前面有 Q 或者 T 命令,则以前一个曲线的控制点的对称点作为起终控制点,(x1, y1)表示终点。
如果 T 单独使用,则等同一条直线。
T x1 y1
(2)弧线
rx, ry 指所在椭圆的半轴大小。
x-axis-rotation 指椭圆的X轴与水平方向顺时针方向夹角,可以想像成一个水平的椭圆绕中心点顺时针旋转 x-axis-rotation 的角度。
large-arc-flag 只有两个值,1表示大角度弧线,0为小角度弧线。
sweep-flag 只有两个值,确定从起点至终点的方向,1为顺时针,0为逆时针
x, y 为终点坐标
A rx ry x-axis-rotation large-arc-flag sweep-flag x y
只对 命令+参数 做个记录