【一周一荐】| tiny-svg:一款轻量级创建工具库

bpmn-js越了解越觉得是一个宝藏库,bpmn-js中用于使用绘制元素svgtiny-svg库也是bpmn-io组织自行开发的一款轻量级SVG工具类库,周下载量足达61398次,本篇文章就来了解下如何使用tiny-svg来实现SVG的绘制。


【一周一荐】| tiny-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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!