Android 5.X SVG 矢量动画部分属性


【原文:Android动画机制与使用技巧(五)——Android 5.X SVG 矢量动画机制

1.<path>标签

  <path>标签创建SVG动画,就像是用指令的方式来控制画笔一样。<path>标签支持的指令有以下几种:
  • M:即moveto(M x,y),将画笔移动到(x,y)坐标处开始绘制,但未绘制。
  • L:即lineto(L x,y),从当前位置画线到指定的(x,y)坐标处。
  • H:horizontal lineto(H X),从当前位置画水平线到指定的 X 坐标处。
  • V:vertical lineto(V Y),从当前位置画垂直线到指定的Y坐标处。
  • C:curveto(C x1,y1,x2,y2,ENDX,ENDY),三次贝塞尔曲线。(参考:贝塞尔曲线百度百科)
  • S:smooth curveto(S X2,Y2,ENDX,ENDY),三次贝塞尔曲线。
  • Q:quadratic Belzier curve(Q x,y,ENDX,ENDY),二次贝塞尔曲线(参考:同上)
  • T:smooth quadratic Belzier curveto(T ENDX,ENDY),映射前面路径后的终点。
  • A:elliptical Arc(A Rx,Ry,XRotation,Flag1,Flag2,x,y),弧线。
  • Z:closepath(),关闭路径。
使用上面的指令时,特别注意以下几点:
  • 坐标轴以(0,0)为中心,X轴正方向向右,Y轴正方向向下。
  • 所有指令均可大小写。大写是绝对定位,参照全局坐标系;小写是相对定位,参照父容器坐标系。
  • 指令和数据间的空格可以省略。
  • 同一指令出现多次可以只用一个

2.SVG常用指令

  • M

M指令类似于Android绘图中path类中的moveTo方法,可以理解为从当前点将画笔移动到(x,y)点,但并未发生绘制动作。

  • L

绘制线段的指令,可以理解为从当前点开始绘制线段到(x,y)点,如:L 100,200 。同时,还可以使用“H”、“V” 指令来绘制水平或者垂直的线段。

  • A

绘制一段弧线的指令。且弧线不闭合。可以将此弧线理解为某一椭圆上的一段弧线,其7个参数如下。

  1. Rx,Ry  指的是所在椭圆的X轴半径和Y轴半径。
  2. XRotation  指的是椭圆的X轴与水平方向顺时针方向的夹角,也可以理解为一个水平椭圆绕中心点顺时针旋转XRotation的角度。
  3. Flag1   指的是大角度弧线还是小角度弧线,1表示大角度,0表示小角度,只有这两个值。
  4. Flag2   指的是从起点到终点是顺时针还是逆时针。1表示顺时针,0表示逆时针。
  5. X,Y    指的是终点坐标。
例如:A 25,25 0 1,0 50,0;他表示半径是25,不旋转,大角度,逆时针,终点坐标是(50,0)















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值