0

我一直在尝试将地图转换SVGHTML区域地图三天。我正在尝试用这个SVG来做到这一点。

我试图SVG用几种方法和程序来转换它,但都失败了。 例如: inkscape, inkscapeMap, Adobe Illustrator, Polygonator, SVGtoHTML等等。

所以我编写了自己的PHP 脚本来完成这项工作。它工作正常,但它只转换多边形。但是有两条路径SVG也需要转换为多边形。我试图在 Illustrator 和 Inkscape 中将这些路径转换为多边形,但显然没有办法强制这些程序将路径转换为多边形。(SVG编辑可能会单独决定是否进行转换)。我在 SO 上找到了这个主题。但我无法完成这项JS工作——我不知道参数示例是什么,等等——浏览器说函数 createElementNS 是未知的。

我能达到的最好结果是这个 HTML,但仍然缺少两个区域(因为它们在路径中的 SVG 中)

我会很高兴有任何线索。

问题

1) 如何将 SVG 路径转换为多边形?那可能吗?

2) 是否有任何软件可以将 SVG 转换为 HTML 区域地图?

3) 你能否在这个 JS 函数中显示我的示例参数(函数编写为 Phrogz):

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

3ad) 为什么功能createElementNS未知?

PS:希望你能看懂我的英文:)

4

0 回答 0