获取 SVG 路径的边界框
Get bounding box of SVG path
我想要这个页面的确切功能
http://codepen.io/netsi1964/full/vNoemp/
我有路径,需要知道它作为矩形元素的边界框,它是 x、y、宽度和高度
给定代码
<path d="M147.5 55.8c-5.8-7.2-13.6-14.4-25.5-14.4-8.4 0-15.4 8.2-27 8.2-9 0-13-7.8-23-7.8C51.4 41.8 31 60.4 31 84.5c0 12.8 4.2 32.5 13.6 49.7C51 146.7 59.4 155 69 155c6.7 0 14.7-6.3 24.2-6.3 8.4 0 16.2 5.6 23.8 5.6 18 0 35-23.5 35-39.3 0-.8-.3-1.4-.3-2v-1c-11.8-6.3-18.2-15.7-18.2-29.3 0-11 4.8-20.5 13.6-26.7l.5-.2zm-53-8.8c13.7-4.2 26.3-14.4 26.3-32 0-1.5-.2-3.3-.4-5.3l-.2-.8C106.4 12.6 94 23.4 94 40.3c0 1.6.2 3.6.6 5.8v.8z" style="translate(0px,-212.47488403320312px) scale(1,1)" >
并了解矩形属性
使用纯JavaScript:给你的路径一个ID并使用getBBox()
获取它的边界框。
var myPathBox = document.getElementById("myPath").getBBox();
console.log(myPathBox);
这是一个演示:
var myPathBox = document.getElementById("myPath").getBBox();
console.log(myPathBox);
<svg width="400" height="400">
<path id="myPath" d="M147.5 55.8c-5.8-7.2-13.6-14.4-25.5-14.4-8.4 0-15.4 8.2-27 8.2-9 0-13-7.8-23-7.8C51.4 41.8 31 60.4 31 84.5c0 12.8 4.2 32.5 13.6 49.7C51 146.7 59.4 155 69 155c6.7 0 14.7-6.3 24.2-6.3 8.4 0 16.2 5.6 23.8 5.6 18 0 35-23.5 35-39.3 0-.8-.3-1.4-.3-2v-1c-11.8-6.3-18.2-15.7-18.2-29.3 0-11 4.8-20.5 13.6-26.7l.5-.2zm-53-8.8c13.7-4.2 26.3-14.4 26.3-32 0-1.5-.2-3.3-.4-5.3l-.2-.8C106.4 12.6 94 23.4 94 40.3c0 1.6.2 3.6.6 5.8v.8z" style="translate(0px,-212.47488403320312px) scale(1,1)" >
</svg>
我知道这是一个老问题,但我想我会把这个变体放到 Furtado 的回答中以供参考。
获取路径边界框的简单方法。
- 确保路径(或任何其他 SVG 元素上有一个 id。
- 在 Chrome(或 FF 或可能是 IE)中打开 svg 文件。
- 检查图像
- 在检查工具中打开控制台。
- 输入JS:document.getElementById("myPath").getBBox(); (在哪里
myPath 是 id)
边界框信息将显示在控制台中。
相同的方法,只是不需要自定义代码。
我想要这个页面的确切功能
http://codepen.io/netsi1964/full/vNoemp/
我有路径,需要知道它作为矩形元素的边界框,它是 x、y、宽度和高度 给定代码
<path d="M147.5 55.8c-5.8-7.2-13.6-14.4-25.5-14.4-8.4 0-15.4 8.2-27 8.2-9 0-13-7.8-23-7.8C51.4 41.8 31 60.4 31 84.5c0 12.8 4.2 32.5 13.6 49.7C51 146.7 59.4 155 69 155c6.7 0 14.7-6.3 24.2-6.3 8.4 0 16.2 5.6 23.8 5.6 18 0 35-23.5 35-39.3 0-.8-.3-1.4-.3-2v-1c-11.8-6.3-18.2-15.7-18.2-29.3 0-11 4.8-20.5 13.6-26.7l.5-.2zm-53-8.8c13.7-4.2 26.3-14.4 26.3-32 0-1.5-.2-3.3-.4-5.3l-.2-.8C106.4 12.6 94 23.4 94 40.3c0 1.6.2 3.6.6 5.8v.8z" style="translate(0px,-212.47488403320312px) scale(1,1)" >
并了解矩形属性
使用纯JavaScript:给你的路径一个ID并使用getBBox()
获取它的边界框。
var myPathBox = document.getElementById("myPath").getBBox();
console.log(myPathBox);
这是一个演示:
var myPathBox = document.getElementById("myPath").getBBox();
console.log(myPathBox);
<svg width="400" height="400">
<path id="myPath" d="M147.5 55.8c-5.8-7.2-13.6-14.4-25.5-14.4-8.4 0-15.4 8.2-27 8.2-9 0-13-7.8-23-7.8C51.4 41.8 31 60.4 31 84.5c0 12.8 4.2 32.5 13.6 49.7C51 146.7 59.4 155 69 155c6.7 0 14.7-6.3 24.2-6.3 8.4 0 16.2 5.6 23.8 5.6 18 0 35-23.5 35-39.3 0-.8-.3-1.4-.3-2v-1c-11.8-6.3-18.2-15.7-18.2-29.3 0-11 4.8-20.5 13.6-26.7l.5-.2zm-53-8.8c13.7-4.2 26.3-14.4 26.3-32 0-1.5-.2-3.3-.4-5.3l-.2-.8C106.4 12.6 94 23.4 94 40.3c0 1.6.2 3.6.6 5.8v.8z" style="translate(0px,-212.47488403320312px) scale(1,1)" >
</svg>
我知道这是一个老问题,但我想我会把这个变体放到 Furtado 的回答中以供参考。
获取路径边界框的简单方法。
- 确保路径(或任何其他 SVG 元素上有一个 id。
- 在 Chrome(或 FF 或可能是 IE)中打开 svg 文件。
- 检查图像
- 在检查工具中打开控制台。
- 输入JS:document.getElementById("myPath").getBBox(); (在哪里 myPath 是 id)
边界框信息将显示在控制台中。
相同的方法,只是不需要自定义代码。