我正在尝试将 svg 路径转换为 javascript 中的 svg 多边形。我发现这个函数可以沿着路径爬行并提取它的坐标。
var length = path.getTotalLength();
var p=path.getPointAtLength(0);
var stp=p.x+","+p.y;
for(var i=1; i<length; i++){
p=path.getPointAtLength(i);
stp=stp+" "+p.x+","+p.y;
}
这是可行的,但它会为最初只有六个点的多边形返回数百个点。我怎样才能只得到必要的点(所有路径都是直线,没有曲线)
最佳答案
好的,知道了。函数 getPathSegAtLength() 返回实际路径段的编号。有了它就很容易了。
var len = path.getTotalLength();
var p=path.getPointAtLength(0);
var seg = path.getPathSegAtLength(0);
var stp=p.x+","+p.y;
for(var i=1; i<len; i++){
p=path.getPointAtLength(i);
if (path.getPathSegAtLength(i)>seg) {
stp=stp+" "+p.x+","+p.y;
seg = path.getPathSegAtLength(i);
}
}
关于javascript - 在javascript中将svg路径转换为多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972912/