0%

Raphael 矢量图形和动画javascript库

raphael 是一套创建的矢量图形和动画的javascript库,它使用SVG W3C推荐标准和VML作为创建图形的基础。

创建图形对象

raphael支持圆形,矩形,椭圆矢量图形对象的直接创建,下面以最简单的矩形绘制进行讲解。

矩形(Rect)

参数:

x轴坐标:10 rx
y轴坐标:18 ry
宽度:100 rw
高度:50 rh

下面演示在提供好的画布上用上述参数绘制一个矩形,点击下面的播放按钮进行演示:

Created with Raphaël 2.1.0
  • 初始化工作
  • 绘制矩形
Watch demo

看完演示,你可以这上面的代码中自己动手试一试了,比如: 圆,椭圆, 文字,图片等等。

  • circle(x, y, r)
  • ellipse(x, y, xr, yr)
  • image(src, x, y, width, height)
  • text(50, 50, “Hi world\n你好世界”)

所有这些绘制后都会返回一个图形对象,你可以对它进行各种操作,比如show/hide,改变属性attr。

Path(路径)

更复杂的对象也可以通过path来实现描述。路径是矢量绘图里最强大的工具,同时也比较复杂。

Created with Raphaël 2.1.0

路径的参数是一组字符串,由“命令字母+坐标数字”的组合构成。数字表示坐标点,字母负责表示如何连接这些坐标点。比如x的示例中,M表示起点,L表示直线连接,所以上述的path的信息可以这样解读:

  • M100,0 -> 以(100,0)坐标点为起点
  • L200,100 -> 从(100,0)向(200,100)画一条直线
  • L10,100 -> 从(200,100)向(10,100)画一条直线
  • Z -> 闭合路径,将路径的开始和结束点用直线连接

在path中,一共有10个命令可以使用,下面5个命令是基础,比较简单。

  • M: moveTo(x,y) 移动到 x,y 坐标
  • Z:closepath() 闭合路径, 将路径的开始和结束点用直线连接
  • L:lineTo(x,y) 直线 当前节点到指定(x,y)节点,直线连接
  • H: Horz(x) 水平直线 保持当前点的y坐标不变,x轴移动到x,形成水平线
  • V: Vert(y) 垂直直线 保持当前点的x坐标不变,y轴移动到y,形成垂直线

动画

在raphael中绘制的每一个元素都可以轻易的制作动画,只要我们设定它的起始和结束属性即可。假如我们对前面的矩形进行动画,设定它的结束属性为:

  • x轴坐标:100 rex
    y轴坐标:40 rey
  • 宽度:100 rew
    高度:100 reh
  • 填充颜色为黄色
  • 旋转120度
  • 透明度设为 0.3

然后设定当对矩形点击的时候开始动画。

Created with Raphaël 2.1.0

现在你可以在矩形上点击看看动画效果。

评论基础模式加载中... 如需完整体验请针对 disq.us | disquscdn.com | disqus.com 启用代理并 尝试完整 Disqus 模式 | 强制完整 Disqus 模式