jsg*_*pil 22 javascript svg bounding-box
我需要从JavaScript中获取SVG中<path>屏幕上的维度.
我的SVG上没有任何"转换"或"缩放"(转换,缩放).唯一改变的是viewBox,它将改变SVG中所有元素的大小.
我一直在使用myPath.getBBox(),即使我更改了我的viewBox,返回的宽度保持不变.
所以我想知道这个viewBox与路径大小的关系是什么.也许有一个计算宽度的函数?
Spa*_*hut 46
您可以getBoundingClientRect()在路径上调用方法来获取尺寸.它将返回一个ClientRect对象:
var w = myPath.getBoundingClientRect().width;
var h = myPath.getBoundingClientRect().height;
Run Code Online (Sandbox Code Playgroud)
还有一种getScreenCTM()方法,它在调用它的元素的当前屏幕像素中返回变换矩阵.规范说:
[getScreenCTM()]返回当前用户单位的转换矩阵(即,在应用'transform'属性后,如果有的话)到父用户代理的"像素"通知.[...]注意,如果此元素未挂接到文档树中,则返回null.