Uncaught TypeError: Cannot read property 'crea

2019-08-29 04:46发布

I am trying to run this function that takes a path and converts it to a polygon:

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);

However I keep getting this error which somehow leads me to assume that I am passing wrong path format in my path variable.

Uncaught TypeError: Cannot read property 'createElementNS' of undefined

Any ideas?

1条回答
兄弟一词,经得起流年.
2楼-- · 2019-08-29 05:13

Replace

var doc = path.ownerDocument;
var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon');

by

var poly = document.createElementNS('http://www.w3.org/2000/svg','polygon');
查看更多
登录 后发表回答