svgdr 简介
svgdr 全名为 SVG Drawer,是黑马整站系统制作的 SVG 绘制工具,目前尚处于开发、完善阶段,已经完成的部可以正常使用。svgdr 以及本文档,均可能在随后的持续开发中有所变更。
svgdr 使用 JavaScript 开发,无第三方依赖,工具以链模式实现绘制指令的下达。开发目的旨在简化 SVG 图案的绘制工作,也能让使用者从中深入学习 SVG。
下面三种方法都可以在页面中使用 svgdr.js,引用插件后,需要声明画笔对象,然后通过对象绘制各种图形 ——
<!-- 先准备一个 svg 元素 -->
<svg id="mysvg" width="800" height="400"></svg>
<!-- 方法一 :适用于自由页面环境,引用在先使用在后 -->
<script src="./svgdr.js" charset="utf-8"></script>
<script>
//声明画笔 :以后就可以使用 dr 指令绘制图案
var dr = _dr(mysvg);
dr.circle(50,50,25).fill('red'); //画圆
</script>
<!-- 方法二 适用于论坛环境 绘制代码放在 onload 事件模块内 -->
<script>
var sc = document.createElement('script');
sc.src = './svgdr.js';
sc.charset = 'utf-8';
document.head.appendChild(sc);
sc.onload = () => {
//声明画笔 :以后就可以使用 dr 指令绘制图案
var dr = _dr(mysvg);
dr.ellipse(50,50,20,30,'green'); //画椭圆
};
</script>
<!-- 方法三 使用ES模块,适用于任何Web环境 -->
<script type="module">
import Dr from './svgdr.mod.js';
//声明画笔 :以后就可以使用 dr 指令绘制图案
var dr = Dr.dr(mysvg);
dr.polygon('20 20,20 180,220 180,20 20', 'none', 'tan', 3); //画三角形
</script>
特别注意:所有的绘制指令若有参数,凡是纯数字的参数(不含百分比符号 %)可以直接使用,凡是非数字的均需要使用小角单或双引号包裹起来,引号应前后一致。