2017-06-08 31 views
0

我有一個路徑可以自己在頁面上繪製它自己。所以我將有一個在容器中間的路徑。該路徑數據是這樣的:有沒有方法來標準化/零點SVG路徑數據?

M 100 100 L 100 200 L 200 200 L 200 100 z 

這在座標x 100,Y 100創建一個盒子,但我想它正常化或零點它,這樣的座標將結束:

M 0 0 L 0 100 L 100 100 L 100 0 z 

然後我把x設置爲100,將y設置爲100.在這個例子中,我可以做簡單的數學運算,因爲路徑是一個正方形,但是如果它不是,例如,它是從右到左的一條直線還是一個複數路徑,是否有代碼將零點?

如果需要,請詢問澄清而不是downvoting。

以下是Flex中使用AS3(如JavaScript)的Path類的源代碼,它看起來像具有可使用Path類獲取邊界的函數。

僅供參考通知讀者我的標籤選擇Flex和FXG是SVG兄弟(均由Adobe創建)的標記語言。兩種語言的路徑數據都是相同的,標記幾乎是1比1.可以在另一箇中運行的答案可能適用於另一種。另外,DOMParser可以解析SVG,如果它有幫助,我可以使用它。

+1

使用相對座標,如l而不是L –

回答

1

我認爲這是簡單的數學,不管你的路徑的複雜性如何。只需迭代點並確定最小的x和y值。 Etvoilà!那是你的「零點」抵消。您已經無意識地將相同的算法應用於您的廣場,這很明顯。

+0

好主意!我會嘗試這個並報告回來。 –

相關問題