2013-03-04 22 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

相關問題