获取svg元素的绝对坐标矩形

时间:2015-08-17 11:25:02

标签: svg

如何获取svg元素的绝对坐标矩形?

svgElem.getBBBox()没有给出abs坐标。

1 个答案:

答案 0 :(得分:0)

svgElem.getCTM()将返回元素的转换矩阵。

然后你可以使用

function getTransformedCoords(x, y, ctm) {
    var xn = x * ctm.a + y * ctm.c + ctm.e;
    var yn = x * ctm.b + y * ctm.d + ctm.f;
    return {
       x: xn,
       y: yn
    };
}

将(x,y)(svgElem的属性)转换为最近的视口元素的坐标系,基本上是最近的<svg>父元素。

文件 https://msdn.microsoft.com/en-us/library/ff972176(v=vs.85).aspx