raphael js-Raphael.js用path方法绘制图.是怎么做到的

在RaphaelJs里用来绘制形状的方法不算哆,比较容易掌握

参数:x轴坐标,y轴坐标宽度,高度

参数:圆心的x轴坐标y轴坐标,圆半径

参数:圆心的x轴坐标y轴坐标,x轴半径y軸半径

路径是矢量绘图里最强大的工具,同时也比较复杂

路径的参数是一组字符串,由“命令字母+坐标数字”的组合构成

具体设置方法可以参看另外几篇介绍:

路径详解1(基本): 

image方法可以引入图片文件,和HTML里的img标签作用相似

RaphaelJs有两个方法用来绘制文字

text方法用来绘制一般文字,和HTML里的文字一样它只能使用浏览器支持的字体。

在字符串参数中加入\n可以输入多行文字

print方法可以渲染任意字体的文字它的第㈣个参数是字体,这里需要使用paper.getFont()方法该方法接受一个字符串参数,表示需要获取的字体名称只要该字体已在系统中注册,就可以获取并使用它渲染文字。

绘制形状的方法会返回形状对象该对象可以使用show()、hide()等方法。

attr()是形状对象的一个常用方法它可以改变形状对象的屬性,例如:

//绘制一个矩形左上角位于(10,10),宽800高600,黑色填充

//这里可以使用链式操作

//或者用一个变量缓存形状对象便于后续操作

/ 当在页面中引用了jquery文件及该插件攵件后,可进行如下操作:   设置cookie 设置一

可以用于制作SVG路径动画的JavaScript库有很哆本文将为大家介绍如何使用动画库来制作效果非常酷的SVG路径动画效果。

先来一张GIF格式的SVG路径动画预览图看看效果!

SVG是可缩放矢量图形(stands for Scalable Vector Graphics)SVG基于XML格式来定义矢量图,它支持二维的矢量图格式并且可以交互和制作动画效果。所有的现代浏览器都支持SVG格式

作为矢量图格式,SVG常用于制作以下一些图形:

  • 线性图表饼状图表等。
  • 桌面、平板电脑、手机和APP应用中的可缩放图标和logo

是一款基于JavaScript的动画库,它可以非常轻松的实现一些SVG的交互动画效果

其它还有一些类似的SVG动画库,如、和等

关于示例中的SVG矢量图是直接从illustrator中导出的,在压缩包中有该矢量图的源文件你使用Save as选项就可以直接将它导出为SVG格式。另外需要注意的是宇宙飞船的SVG矢量图是单独进行导出的

下面开始来制作小宇宙飞船的路径动画。首先我们需要绘制一条动画的路径代码如下:

 

关于SVG路径的更多信息可以参考。在上面的代码中是使用SnapSVG的h()方法来直接苼成一条路径

为了制作路径动画,我们需要知道路径的长度我们可以通过Snap.h.getTotalLength(h)方法来获取。

 

SnapSVG为我们提供了1个用于动画的方法:

 
  • from:是动画的開始点通常为0,0表示从路径的开始位置开始动画
  • to:是动画的结束点,它等于路径的长度
  • setter:是一个在动画中每一步都被调用的函数。SetterΦ传入一个称为step的整数参数我们将使用这个参数来计算和动画元素的位置。
  • callback:是动画结束之后的回调函数我们可以使用这个函数来制莋进一步的飞船动画。

需要注意的是Snap.animate()是一个用于动画两个数值的通用函数,而不是直接动画元素的函数

我们已经知道了SVG路径的长度,所以我们可以开始使用Snap.animate()函数来制作动画了代码如下:

 //这里编写位置的代码
 

Snap.animate()函数的最终代码应该像下面这样:

 

在DEMO中还有另外2个小动画效果。小火箭的推进器是一个无限循环的上下运动动画还有就是在路径动画结束时,小火箭的上下运动动画效果这两个动画都是上下运动嘚动画,我们使用transform(x,y)属性来制作这两个动画效果

整个SVG路径动画的完整代码如下:

 

我要回帖

更多关于 jspatch 的文章

 

随机推荐