如何用d3.js计算svg中多边形的大小

时间:2014-03-22 06:16:39

标签: svg d3.js

这是我的svg文件中的多边形。

<polygon id="UKCYEW" fill="#09252E" points="840.218,415.85 696.468,415.85 696.468,373.974 817.176,373.558 "/>

通过D3.js我可以获得多边形中的所有点并获得该多边形的中心

var points = d3.select('#'+name).attr('points');
    if(points !=null){
        var temps = [], posx = 0, posy = 0;
        temps = points.split(' ');
        //console.log('.................................. temperary positions',temps);
        temps.forEach(function(e){
            // console.log(e);
            var arr = e.split(',');
        posx += Number(arr[0]), posy +=Number(arr[1]);
    })
    posx = posx/temps.length , posy = posy/temps.length;
}                               

现在我的意思是,如何计算多边形的大小

1 个答案:

答案 0 :(得分:3)

document.getElementById("UKCYEW")[0].getBBox()将获得x,y,width和height。尺寸是宽度和高度,中心是x +宽度/ 2,y +高度/ 2.是不是更简单?