繁体   English   中英

倾斜转换后获取SVG元素的宽度和高度-javascript

[英]getting the width and height of SVG element after skew transformation - javascript

我有一个带有以下属性的SVG rect

<rect x="50" y="10" width="20" height="30" style="stroke: #000000; fill:none;"  />

如果我应用skewX(10)变换,则矩形的宽度和高度会改变。 然后,如何使用普通javascript(不带库)计算其真实宽度和高度?

<rect>包装在<g>元素中; 然后获得对该小组的参考; 然后在其上调用getBBox()

 var bbox = document.getElementById("wrapper").getBBox();; alert("width=" + bbox.width + " height=" + bbox.height); 
 <svg> <g id="wrapper"> <rect x="50" y="10" width="20" height="30" style="stroke: #000000; fill:none;" transform="skewX(10)" /> </g> </svg> 

我们将元素包装在一个组中的原因是, getBBox()返回的边界框不包含转换的效果。 另外,它不必是<g>它可以是<rect>任何父元素,只要没有其他可能影响边界的子元素即可。

或者,您可以像Stephen一样使用三角学。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM