2012-01-13 7 views
2

私はsvgのviewboxについて質問しました。私の意見では、無限のsvgプランのウィンドウのようなもので、その境界はsvg要素のviewBox属性に設定されています。これは、svg計画の2つの座標の間の矩形を表します。したがって、 "0 0 1000 500"のviewBoxは、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を確認できます(スライダを引っ張ってviewBoxを変更します)。 SVG仕様で何を欠場しましたか?

+0

ビューボックスは "min-x min-y max-x max-y"と反対の "min-x min-y幅の高さ"として設定されます –

答えて

4

SVG仕様のpreserveAspectRatio属性が欠落しています。デフォルトでは、ビューボックスに表示されるもののアスペクト比を強制的に保持します。あなたの後にあるような音はpreserveAspectRatio = "none"

+0

Hmm none私に希望の結果を与えてくれます。私はxMidYNoneとして何かをしたいと思う。 "none"の場合、yのスケーリングはOKですが、xのスケーリングはひどく間違っています。パスの開始点をアニメーション化することで解決できますが、私はビューボックスで解決するのが好奇心です。 –