是否可以使用 Javascript API 获取 SVG 路径中单个段(从锚点到锚点)的长度?
我制作了弗朗西斯·海姆舍解决方案的一些整洁版本。这是完整的源代码:
function getSegmentLengths(path) {
let segList = path.pathSegList;
// temporary path for computing segments
let lengthPath = document.createElementNS("http://www.w3.org/2000/svg", 'path');
let lastLength = 0;
let segLengths = [];
for(let i = 0; i < segList.numberOfItems; i += 1) {
let segObj = segList.getItem(i);
lengthPath.pathSegList.appendItem(segObj);
let currentLength = lengthPath.getTotalLength();
let segmentLength = currentLength - lastLength;
segLengths.push({
currentLength,
segmentLength,
type: segObj.pathSegTypeAsLetter
});
lastLength = currentLength;
}
return segLengths;
}
重要的提示:要使其在当前版本的 Chrome (60) 中完全运行,您必须使用路径段填充 https://github.com/progers/pathseg.
请参阅我的样本Code Pen https://codepen.io/bez997/pen/dzJemZ?editors=1010.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)