将viewbox坐标设置为svg图形的范围

将viewbox坐标设置为svg图形的范围,svg,zooming,limits,viewbox,Svg,Zooming,Limits,Viewbox,我有一组动态创建的svg对象。其中一些应用了相当复杂的转换。我的意思是,我想计算这些物体X&Y的最大值和最小值是没有意义的。我希望viewbox(或任何可能有用的类似标记)显示所有这些对象,而无需我计算图形对象的范围 你能帮忙吗 谢谢,您可以在path元素上使用getBBox()来获取图形的范围 var clientrect = path.getBBox(); var viewBox = clientrect.x+' '+clientrect.y+' '+clientrect.width+' '

我有一组动态创建的svg对象。其中一些应用了相当复杂的转换。我的意思是,我想计算这些物体X&Y的最大值和最小值是没有意义的。我希望viewbox(或任何可能有用的类似标记)显示所有这些对象,而无需我计算图形对象的范围

你能帮忙吗

谢谢,您可以在path元素上使用getBBox()来获取图形的范围

var clientrect = path.getBBox();
var viewBox = clientrect.x+' '+clientrect.y+' '+clientrect.width+' '+clientrect.height;
然后可以将viewbox设置为这些坐标


n、 b.我认为您可以在svg渲染后更改其viewbox,因此您可能需要重新渲染svg。

我不确定您想要实现什么-您的问题可能需要更多细节。是否使用浏览器进行渲染?你用什么来动态创建svg元素?还有,你用什么语言?我用浏览器来显示svg。请看一下代码:这很好用。但在移除viewbox后,不会显示负片部分。这次我知道viewBox=“0-100 200”将显示所有图形对象。但当我无法了解这一点时该怎么办。谢谢