2011-06-12 126 views

回答

7

SVGs,並推而廣之,拉斐爾,不能做無限的線,但是,這並不意味着你不能捏造事實。

你需要一點數學。

首先,取兩點(開始和鼠標),得到它的formula

一旦你有了它,計算它擊中視口的邊緣。 (可以通過將x或y設置爲視口的左側/右側/頂部/底部並解決該變量來完成此操作。)一旦您知道線條正在觸碰視口的邊緣,請將其放回線條公式中以計算你需要在兩個點之間畫兩點。

一旦你具備了這兩點,剩下的很簡單:

paper.path("M" + point1.x + " " + point1.y + "L" + point2.x + " " + point2.y); 
0

也許你應該看看JSXGraph,這似乎是你正在尋找的,這裏有一些examples辦最多的。它不使用Raphaël,但它使用類似的策略來兼容舊版本的IE(VML後端)。

+0

謝謝埃裏克。儘管@sirbrialliance更具體,我會檢查JSXGraph項目。 – filipeamoreira 2011-06-13 20:06:32