计算Svg <g>标签宽度

时间:2016-02-24 11:21:45

标签: matrix svg svgpanzoom

我是SVG的新手。我有一个svg图像,我已经为<g>标签应用了一个变换矩阵。现在我想计算<g>标签的宽度和高度。在页面加载时,我可以使用getBBox()或getBoundingClientRec()函数计算宽度和高度。但是当我调整窗口大小时我正在更改矩阵值,在更新矩阵值之前,我如何计算<g>标签的宽度和高度。

- getBBox()和getBoundingClientRec()根据矩阵值返回宽度和高度。

例如: 在页面加载:

<g id="xyz" transform="matrix(1,0,0,1,10,10)"></g>

调整窗口大小时,我调用的是计算矩阵值的方法。 注意:计算的Matrix值尚未更新 我需要在调整大小时将图像居中到浏览器窗口。我正在减去窗口宽度和图像宽度除以2,我将该值应用于matrix.e i。,“x”值。 例如:新的矩阵值为[1.2,0,0,1.2,x,10]

对于居中地图,我需要通过使用计算的矩阵值来知道<g>的宽度和高度,即[1.2,0,0,1.2,x,10]

1 个答案:

答案 0 :(得分:1)

用另一个<g&gt;包裹转换的组。并致电getBBox()

但为什么不描述您想要实现的原始问题?由于您是SVG的新手,因此您可能会以错误的方式接近您的问题。也许我们可以建议一个比自己操纵矩阵更好的解决方案。