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>

特别注意:所有的绘制指令若有参数,凡是纯数字的参数(不含百分比符号 %)可以直接使用,凡是非数字的均需要使用小角单或双引号包裹起来,引号应前后一致。