我正在尝试运行此函数,该函数采用路径并将其转换为多边形:
function polygonSampledFromPath(path,samples){
var doc = path.ownerDocument;
var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon');
var points = [];
var len = path.getTotalLength();
var step = step=len/samples;
for (var i=0;i<=len;i+=step){
var p = path.getPointAtLength(i);
points.push( p.x+','+p.y );
}
poly.setAttribute('points',points.join(' '));
return poly;
}
var path = "m247.96255,140.77197c28.82227,-82.68753 141.75,0 0,106.31247c-141.75005,-106.31247 -28.82213,-189 0,-106.31247z"
polygonSampledFromPath(path,30);
但是我一直收到这个错误,这个错误导致我假设我在path
变量中传递了错误的路径格式。
未捕获的TypeError:无法读取属性&#39; createElementNS&#39;的 未定义
有什么想法吗?
答案 0 :(得分:2)
替换
var doc = path.ownerDocument;
var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon');
通过
var poly = document.createElementNS('http://www.w3.org/2000/svg','polygon');