在不使用边界框的情况下获取svg路径的尺寸

Getting the dimensions of an svg path without using bounding box

本文关键字:svg 获取 路径 情况下 边界      更新时间:2023-09-26

是否有方法获取svg路径的维度并将其显示在div中?边界框不是一个选项,因为当涉及到贝塞尔曲线时,它在Webkit中是有缺陷的。我正在做svg编辑btw的修改:https://code.google.com/p/svg-edit/

这是我目前使用的。

    <script>
    var myVar=setInterval(function(){getDimensions()},10);
    function getDimensions() 
    {
  svgNode = svgCanvas.getSelectedElems()[0];

var getw = svgNode.getBoundingClientRect().width;
var geth = svgNode.getBoundingClientRect().height;
getw= parseInt(getw);
geth= parseInt(geth);
 document.getElementById('heightbox').innerHTML = geth;
 document.getElementById('widthbox').innerHTML = getw;

}
    </script>

不幸的是,这个边界框是不可靠的。除了bbox还有其他想法吗?

RaphaelJS有一个确定路径边界框的实用方法-http://raphaeljs.com/reference.html#Raphael.pathBBox

var dims = Raphael.pathBBox(pathString);
var getw = dims.width;
var geth = dims.height;