5

我想阅读:

  • width, height, x,y测量

对于特定的 SVG 元素。


我想最简单的方法是先获取最小边界框并读取它的属性。

我怎样才能访问这个?

4

4 回答 4

8

如果您有对 DOM 节点的引用,请使用

svgNode.getBoundingClientRect()

https://developer.mozilla.org/en-US/docs/DOM/element.getBoundingClientRect

编辑:SVG Edit 有一个方法可以返回当前选中的元素:

svgCanvas.getSelectedElems()

所以在上面的例子中:

svgNode = svgCanvas.getSelectedElems()[0];
svgNode.getBoundingClientRect();
于 2013-02-18T11:02:08.233 回答
3

有关示例和答案,请参阅http://granite.sru.edu/~ddailey/svg/BBox0M.svg

简而言之,这段代码在 Chrome 中适用于我:

<script>
function foo(evt)
{
    console.log(evt.target.getBBox());      
}
</script>

<svg>
    <circle onclick="foo(evt)" r="20%" cx="50%" cy="50%"/>
</svg>
于 2014-03-21T09:56:12.943 回答
1

假设你有一个元素的句柄,我认为这会起作用,不是吗?

box = svgedit.utilities.getBBox(selected);
于 2013-02-18T04:59:43.953 回答
0

我不确定我是否理解正确,但如果你想获取 jQuery 元素的高度或宽度,请使用 width() 和 height():

log("The svg is " + $("img").width() + "px wide.");
log("The svg is " + $("img").height() + "px tall.");

JSFiddle 示例:http: //jsfiddle.net/gGWU4/

于 2013-02-17T21:24:02.257 回答