2012-01-13 156 views
2

我有一個關於svg的viewbox的問題,在我看來,它就像一個無限svg計劃上的窗口,它的邊界是在svg元素的viewBox屬性中設置的。它表示svg計劃中2個座標之間的矩形。因此,「0 0 1000 500」視圖框顯示了svg計劃的(0,0)和(1000,500)之間的窗口。 當我使viewBox(2000,0,3000 500)我看到(2000,0)和(3000,500)的窗口。 x和y比例是未修改的:在這兩種情況下,我都顯示1000 * 500單位的svg計劃。svg viewbox縮放問題

但是很明顯我錯了一些地方。我正在嘗試將視框動畫化,以模仿某種形式的股票行情顯示,保持y座標不變,但改變x座標(不改變實際顯示的單位數量),但出現錯誤。不知怎的,我的Y尺度變化。 在現代瀏覽器中,您可以驗證yourself(拉動滑塊以更改視圖框)。 我在SVG規範中錯過了什麼?

+0

視框被設置爲「min-x min-y max-x max-y」的對立面「min-x min-y width height」 – 2012-01-15 18:12:42

回答

4

您錯過了SVG規範中的preserveAspectRatio屬性。它強制默認情況下保留在視框中看到的寬高比。聽起來像是你以後的樣子是preserveAspectRatio =「none」

+0

Hmm none可能的值是給我想要的結果。我想我會想要xMidYNone的東西。使用「無」,y縮放比較好,但x縮放比例非常糟糕。我可以通過動畫路徑的起始點來解決它,但我很想通過視圖框來解決它。 – 2012-01-13 15:11:23