如何使用raphaeljs获得svg的尺寸

如何使用raphaeljs获得svg的尺寸,svg,raphael,Svg,Raphael,我有: var my_paper=Raphael(“my_div”); //然后我使用jquery.ajax(…)检索远程.svg文件。。。 //svg作为xml格式的对象交付 var my_set=my_paper.importSVG(xml对象); 有3件我想得到宽度: 1-文件。。。。。。。。。。。。。。容易的使用:我的纸张宽度 2-套装。。。。。。。。。。。。。。。。。。容易的用法:my_set.getBBox().width 3-svg元素。。。。如何用拉斐尔做到这一点 我发现我可

我有:


var my_paper=Raphael(“my_div”);
//然后我使用jquery.ajax(…)检索远程.svg文件。。。
//svg作为xml格式的对象交付
var my_set=my_paper.importSVG(xml对象);
3件我想得到宽度:

1-文件。。。。。。。。。。。。。。容易的使用:我的纸张宽度

2-套装。。。。。。。。。。。。。。。。。。容易的用法:my_set.getBBox().width

3-svg元素。。。。如何用拉斐尔做到这一点


我发现我可以直接访问xml对象,并从svg元素获取信息,但我想使用raphael library来实现这一点。

据我所知,raphael使用纸质对象包装svg或Canvas元素。因此,如果您使用的是支持SVG的浏览器,那么图纸尺寸与SVG尺寸相同。。。但是:纸张尺寸是基于html容器的。因此,如果我有一个
,那么纸张的宽度是100。但我可能正在将一个450x450.svg文档导入该区域。我明白你的意思。我认为
svg
元素填充了包含
div
的所有内容,除非您另外指定。加载一组形状(路径、圆等)时,这不是svg元素,而是svg元素中的一组元素(路径、圆、矩形等)。对于拉斐尔来说,我认为这是一个设定。虽然有点离题,但你知道Snap SVG吗?它和Raphael是同一个人写的,只适用于更现代的浏览器(它放弃了IE6/7支持)。它得到了Adobe的支持,因此可能更能证明未来。如果你不关心IE6/7的话,只是补充一下,这是一件很有帮助的事情。谢谢。。。如果我有机会做另一个交互式svg项目,我将重新查看svg库列表,看看有什么可用(尽管raphael还不错)。。。到目前为止,唯一的“坏”是我不得不添加多个插件来扩展拉斐尔的功能(有些人可能认为这是一件好事)。不得不添加一个import_svg_classic.js、raphael_free_transform.js、raphaeljs-infobox.js
<div id = 'my_div' style='width:200px;height:200px;'></div>
<script>
  var my_paper = Raphael( "my_div" ) ;

  // then I jquery.ajax(...) to retrieve a remote .svg file ... 
  //     the svg is delivered as an xml-formatted object

  var my_set = my_paper.importSVG( the_xml_object );
</script>