bpmn-js
越了解越觉得是一个宝藏库,bpmn-js
中用于使用绘制元素svg
的tiny-svg
库也是bpmn-io
组织自行开发的一款轻量级SVG
工具类库,周下载量足达61398
次,本篇文章就来了解下如何使用tiny-svg
来实现SVG
的绘制。
什么是SVG?
SVG
即可缩放矢量图(Scalable Vector Graphics
),是一个以XML
格式定义的一个标记文件,SVG图片相较于像素图片而言有如下特点:
-
可放大缩小且保持原有质量,不失真
-
W3C
制定的XML
标准 -
模块可交互,支持
DOM
tiny-svg特性
-
没有包装魔法,直接使用原生的
DOM
操作 -
模块化
-
库大小只有2kb,库代码已被压缩和混淆
-
支持innerSvg
-
简化的svg属性处理
-
几何辅助支持
安装
安装可以选择使用npm、pnpm、yarn
进行安装
$ npm i tiny-svg // 或
$ yarn add tiny-svg
使用
tiny-svg
使用最简单的方式通过string
文本方式来创建和维护svg
的绘制,这种方式会让我们的创建更加灵活轻便,操作复杂度降低,但同时由于缺少足够的api
来操作使用,需要使用者对于svg
的结构标准、功能支持、坐标计算需要足够多的了解才能更加完美的创建和绘制。
import {
appendTo,
classes,
create,
innerSVG
} from 'tiny-svg';
var container = document.createElement('div');
var element = appendTo(create('svg'), container);
var g = appendTo(create('g'), element);
// add classes, SVG style!
classes(g).add('foo');
var text = `
<g class="foo bar">
<rect x="0" y="0" width="0" height="0" rx="50" ry="50"/>
</g>
`;
// set innerSVG
innerSVG(g, text);
原文始发于微信公众号(胖蔡话前端):【一周一荐】| tiny-svg:一款轻量级创建工具库
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/222903.html