本文主要记录如何使用 svg.js
实现对图形的拖拽,选择,图像渲染及各类形状的绘制操作。
1、关于SVG
SVG
是可缩放的矢量图形,使用XML格式定义图像,可以生成对应的DOM节点,便于对单个图形进行交互操作。比CANVAS
更加灵活一点。关于SVG的基础知识,请参考SVG学习地址。
2、SVG.js
今天要说的主角是 SVG.js
,它是对SVG本身的一个封装库,提供各种API使对SVG的使用更加方便,相当于JQuery对于JS,它的自我介绍是 轻量级,速度快,更具易读性。SVG.js官网介绍的很详细,不过这里还是简单的进行一些汇总。
2.1 初始化
<div id="svgDemo"></div>
this.draw = SVG("svgDemo").size("100%", "100%");
-
SVG(domId)
初始化dom结点。转成 svg
元素
-
size()
是svg.js中的改变画板大小的方法,其中参数可以是像素:size('100px', '100px')
;,也可以是百分比size('100%', '100%')
;
2.2 一些基本形状
如图所示,我们可以很快速的绘制出一些基本图形。具体的API详见对应的代码块。
// 画线
let line = this.draw
.line(10, 10, 10, 150) // 起点xy,终点xy
.stroke({ width: 5, linecap: "round", color: "blue" }); // 线条样式
// 画矩形
let rect = this.draw
.rect(100, 100) // 宽高
.radius(10) // 圆角
.fill("red") //填充
.move(20, 20); // 位移
// 画圆
let circle = this.draw