intelogie/pathseg

该软件包最新版本(dev-master)没有可用的许可证信息。

维护者

详细信息

github.com/INTELOGIE/pathseg

源代码

安装: 124

依赖项: 0

建议者: 0

安全性: 0

星级: 0

关注者: 2

分支: 56

语言:JavaScript

dev-master 2016-11-14 14:23 UTC

This package is auto-updated.

Last update: 2024-08-29 04:19:56 UTC


README

这是SVG2(https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html)中移除的SVGPathSeg和SVGPathSegList API的替代品。使用SVGPathSeg或SVGPathSegList API的现有代码可以使用此polyfill保持工作。此polyfill基于从Chromium 47中移除的确切代码和测试。

SVGPathSeg API难以使用,已被从SVG规范中移除,转而使用Paths模块中的新、更强大的API(https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html)。所有新开发都应使用SVG Path Data API。对于尚不支持新API的浏览器,有一个polyfill(path-data-polyfill.js)。

实现状态

现在通过所有来自Chromium存储库的SVGPathSeg测试。

现在被svg-edit使用,并通过所有svg-edit路径测试。

使用pathseg.js

只需将pathseg.js添加到您的服务器,并将其放入HTML或SVG文件中

<script src="pathseg.js"></script>

示例API使用

var path = document.createElementNS("http://www.w3.org/2000/svg", "path");
var moveToSeg = path.createSVGPathSegMovetoRel(10, 10);
var lineToSeg = path.createSVGPathSegLinetoRel(100, 100);
path.pathSegList.appendItem(moveToSeg);
path.pathSegList.appendItem(lineToSeg);
console.log(path.getAttribute('d')); // m 10 10 l 100 100
moveToSeg.x += 200;
moveToSeg.y += 200;
console.log(path.getAttribute('d')); // m 210 210 l 100 100

这些API已从SVG 2中删除,但它们原始的定义可以在以下位置找到:

http://www.w3.org/TR/SVG/single-page.html#paths-InterfaceSVGPathSeg

http://www.w3.org/TR/SVG/single-page.html#paths-InterfaceSVGPathSegList