从javascript中的点数组中绘制SVG多边形

时间:2017-08-19 15:26:02

标签: javascript arrays html5 svg

如果有这样的数组,(arr包括点)

arr = [ [ 0,0 ], 
             [ 50,50 ],
             [ 25,25 ], ];

我想用这个数组绘制SVG多边形。

首先,我认为这段代码没问题,但不是。

<polygon points="arr[0][0],arr[0][1] arr[1][0],arr[1][1] arr[2][0],arr[2][1]" style = "fill:lime; stroke:purple; stroke-width:3;/">

请让我知道如何使用点数组制作多边形。 请提供一些示例代码。

1 个答案:

答案 0 :(得分:2)

您可以使用SVG DOM执行此操作,但除非您设置笔划,否则不会显示点形成直线的多边形。

var svg = document.getElementById("svg");
var polygon = document.createElementNS("http://www.w3.org/2000/svg", "polygon");
svg.appendChild(polygon);

var array = arr = [ [ 0,0 ], 
             [ 50,50 ],
             [ 25,25 ], ];

for (value of array) {
  var point = svg.createSVGPoint();
  point.x = value[0];
  point.y = value[1];
  polygon.points.appendItem(point);
}
polygon {
  stroke: black;
}
<svg id="svg">
</svg>