2013-03-04 21 views
0

我与拉斐尔SVG库玩,我定义了一个元件保持拉斐尔画布如何获取用相对值定义的Raphael javascript库的纸画布宽度?

<div id="canvas_container"></div> 

和我放在里面的拉斐尔帆布/文:

paper = new Raphael(document.getElementById('canvas_container'), '100%', '100%'); 

现在我想获得画布的绝对宽度/高度。我想通过paper.canvas来访问画布,但是如果我尝试获取paper.canvas.width,我会得到一个SVGAnimatedLength元素,而不是宽度。

我注意到,当使用Chrome开发工具,并用鼠标在控制台中选择paper.canvas时,窗口中出现正确的绝对大小的选定元素(选择某个元素时出现在页面中的蓝色选择在Chrome开发控制台中)。但如何在代码中获得它?

回答

6

您可以使用canvas对象的offsetWidthoffsetHeight值来确定Raphael画布的真实尺寸。

例子:http://jsfiddle.net/g54PR/1/

+0

非常感谢您的回答,但它不回答我的问题。虽然很高兴知道这一点。但是,如果我决定制作新的Raphael(document.getElementById('canvas_container'),'90%','50%'),该怎么办? ?这就是为什么我想要获得画布的大小而不是容器的大小。 – karlitos 2013-03-04 17:23:22

+0

我明白了。你的例子在这方面不是很清楚,因为你使用'100%'作为你的例子值。我现在已经更新了我的答案。 – amustill 2013-03-04 18:01:02

+0

谢谢!你创造了我的一天,那就是我一直在寻找的。我知道对纸张变量的引用,所以paper.canvas.offsetWidth似乎是一个很好的解决方案来获得这些措施。 – karlitos 2013-03-04 19:16:21

1

性质paper.widthpaper.hight会帮助你。

+0

@ amustill的答案不再有效。这是正确的答案。 – timkay 2017-08-01 01:07:19

相关问题