在SVG中获取路径的维度
Get dimension of a path in SVG
我需要从JavaScript中获取SVG中
我的SVG上没有任何"转换"或"缩放"(转换,缩放)。唯一改变的是viewBox,它将改变SVG中所有元素的大小。
我一直在使用myPath.getBBox(),返回的宽度保持不变,即使我改变我的viewBox。
所以我想知道什么是关系与这个viewBox和路径的大小。也许有一个函数来计算宽度?
您可以在您的路径上调用getBoundingClientRect()
方法来获取维度。它将返回一个ClientRect
对象:
var w = myPath.getBoundingClientRect().width;
var h = myPath.getBoundingClientRect().height;
还有一个getScreenCTM()
方法,它返回被调用元素的当前屏幕像素的变换矩阵。规范说:
[getScreenCTM()]返回当前用户单位的转换矩阵(即,在应用' transform '属性之后,如果有的话)到父用户代理的"像素"通知。[…注意,如果该元素没有被挂接到文档树中,则返回null。
首先,请记住path
不能有宽度。它是一组弦。浏览器使用这些信息和绘图方法来连接这些线并创建一个可见的形状。
其次,边界框是SVG呈现时间的快照。这就是为什么你在调整大小时没有得到更新的宽度。
一个变通办法,我想将容器元素的宽度到SVG (div
或其他东西)。
也许有些库可以提供一些实用的方法来解决这个问题。
相关文章:
- 使用c#中的邮件附件javascript在客户端机器上获取服务器端导出的crystal报告路径.下面的
- 如何使用php和javascript获取网页中显示图像的路径
- 从不一致的文件路径数组中获取键的值
- javascript onclick获取不带路径的图像名称
- 获取要提交到php中dropbox的输入路径
- 在移动设备上按路径或名称获取二进制图像(Ionic / Ng cordova 应用程序)
- 在 Angular 中,我无法正确获取渲染路径
- 从javascript中的字符串路径获取文件名
- 使用Javascript获取SVG路径的绝对坐标
- 如何在Sonarqube Javascript扩展中获取项目路径
- 如何在dropzone.js中获取选定的文件路径
- $location.path获取上一个路径
- 获取在html中选择的完整路径文件夹
- Node Webkit从avi文件路径获取视频持续时间
- 通过指定完整路径获取 JSON 子值时出现问题
- 按路径获取属性
- Javascript从路径获取img的宽度
- 使用当前的require.js路径获取jquery load/get
- SVG:如何制作路径/获取路径的点
- 如何通过相对路径获取URL?-Javascript