跳转到主要内容

pathseg 1.2.1 (XStatic打包标准)

项目描述

SVGPathSeg polyfill

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

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

实现状态

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

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

Blink可能将删除SVGPathElement.getPathSegAtLength(参见:[Intent to deprecate and remove SVGPathElement.getPathSegAtLength] (https://groups.google.com/a/chromium.org/d/msg/blink-dev/Gc1Aw282beo/NsfsKf8LBgAJ))。已向此库添加了一个getPathSegAtLength polyfill。

Firefox 59可能将删除SVGPathSeg和SVGPathSegList API的部分(参见:[Remove the WebIDL methods for creating and mutating SVG path data] (https://bugzilla.mozilla.org/show_bug.cgi?id=1436438))。此库支持对此部分实现进行polyfill。

使用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

https://www.w3.org/TR/SVG/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源代码分发

XStatic-pathseg-1.2.1.1.tar.gz (11.2 kB 查看哈希值)

上传时间 源代码

由以下支持