Svg.js实例教程及使用手册详解(一)


Posted in Javascript onMay 16, 2016

什么是SVG?

SVG 指可伸缩矢量图形 (Scalable Vector Graphics)

SVG 用来定义用于网络的基于矢量的图形

SVG 使用 XML 格式定义图形

SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失

SVG 是万维网联盟的标准

SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

简介:

SVG.js是一个轻量级的JavaScript库,允许你轻松操作SVG和定义动画。

SVG(Scalable Vector Graphics,可缩放矢量图形)是基于XML、用于描述二维矢量图形的一种图形格式。SVG由W3C制定,是一个开放标准。

SVG.js中包含了大量用于定义动画的方法,如移动、缩放、旋转、倾斜等,具体可参阅相关演示。

SVG.js中的一些亮点:

•易读的简洁的语法

•非常轻量,gzip压缩版只有5k

•针对大小、位置、颜色等的动画元素

•模块化结构,轻松扩展

•各种实用插件

•各种形状类型间拥有统一的API.

•元素可以绑定事件,包括触摸事件

•完全支持不透明蒙版

•元素组

•动态渐变

•填充模式

•完整的文档记录

使用说明:

创建一个SVG文档

使用SVG()函数来在一个给定的html元素中创建一个SVG文档:

var draw = SVG('canvas').size(300, 300)
var rect = draw.rect(100, 100).attr({ fill: '#f06' })

其中SVG()中的参数可以使一个元素的id或者元素本身。

以上两句将在html文档中产生以下代码:

<div id="canvas">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="300">
<rect width="100" height="100" fill="#f06"></rect>
</svg>
</div>

当然,要定义SVG画布的大小,除了使用像素之外,也可以使用百分比的。如下:

var draw = SVG('canvas').size('100%', '100%')

检测浏览器对SVG的支持度

在使用svg.js之前,可以先用以下的代码来检测浏览器对svg.js这个库的支持情况:

if (SVG.supported) { 
var draw = SVG('canvas') 
var rect = draw.rect(100,100) } 
else { 
alert('SVG not supported') }

ViewBox

<svg>的属性可以用viewbox()方法来确定,viewbox()方法就像是一个setter函数一样,如下所示:

draw.viewbox(0,0,297,210)

上面的一行代码和下面的一行代码是等价的,前两个参数表示<svg>的位置,后两个是其宽度和高度。

draw.viewbox({ x: 0, y: 0, width: 297, height: 210 })

如果没有任何参数,那么viewbox就直接返回一个空的<svg>:

var box = draw.viewbox()

viewbox() 方法可以有zoom属性,

var box = draw.viewbox() var zoom = box.zoom

如果viewbox中的<svg>的大小和实际的SVG画布的大小相同,那么zoom的值就是1.

SVG 文档

svg.js也可以在htmlDOM外工作,如下所示,是一个独立的svg文件,就像是外部的js文件一样。

<?xml version="1.0" encoding="utf-8" ?> 
<svg id="viewport"xmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink"version="1.1"> 
<script type="text/javascript"xlink:href="svg.min.js">
</script> 
<scripttype="text/javascript"> 
<![CDATA[ 
var draw = SVG('viewport') 
draw.rect(100,100).animate().fill('#f03').move(100,100) 
]]> 
</script> 
</svg>

以上所述是小编给大家介绍的Svg.js实例教程及使用手册详解(一)的内容,下面将持续更新svg.js的其他方法的用法,敬请关注!

Javascript 相关文章推荐
jquery.post用法关于type设置问题补充
Jan 03 Javascript
JQuery.get提交页面不跳转的解决方法
Jan 13 Javascript
js实现刷新iframe的方法汇总
Apr 27 Javascript
JS实现旋转木马式图片轮播效果
Jan 18 Javascript
vuejs绑定class和style样式
Apr 11 Javascript
AngularJS全局警告框实现方法示例
May 18 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 Javascript
JavaScript实现的简单加密解密操作示例
Jun 01 Javascript
使用JS获取页面上的所有标签
Oct 18 Javascript
微信小程序实现九宫格抽奖
Apr 15 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
微信小程序云开发之模拟后台增删改查
May 16 Javascript
限制只能输入数字的实现代码
May 16 #Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
May 16 #Javascript
基于javascript实现最简单的选项卡切换效果
May 16 #Javascript
JavaScript实现页面跳转的方式汇总
May 16 #Javascript
js实现页面跳转的几种方法小结
May 16 #Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
May 16 #Javascript
KnockoutJs快速入门教程
May 16 #Javascript
You might like
基于pear auth实现登录验证
2010/02/26 PHP
Javascript倒计时代码
2010/08/12 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
Python中基础的socket编程实战攻略
2016/06/01 Python
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
django 创建过滤器的实例详解
2017/08/14 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
详解python对象之间的交互
2020/09/29 Python
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
市场营销求职信范文
2014/02/21 职场文书
企业文化标语口号
2014/06/09 职场文书
2015年元旦标语大全
2014/12/09 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
总经理致辞
2015/07/29 职场文书
医学会议开幕词
2016/03/03 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书