svg viewbox проблема масштабирования - PullRequest
2 голосов
/ 13 января 2012

У меня вопрос по поводу окна просмотра SVG, на мой взгляд, оно похоже на окно в бесконечном плане SVG, и его границы задаются в атрибуте viewBox элемента SVG. Он представляет прямоугольник между двумя координатами в плане SVG. Таким образом, viewBox «0 0 1000 500» показывает окно между (0,0) и (1000 500) плана SVG. И когда я делаю viewBox (2000, 0, 3000 500), я вижу окно (2000,0) и (3000,500). масштабирование по x и y не изменяется: в обоих случаях я отображаю 1000 * 500 единиц плана SVG.

Но, очевидно, я ошибаюсь где-то. Я экспериментирую с анимацией окна просмотра, чтобы имитировать какое-то отображение тикера, оставляя координаты y нетронутыми, но меняя координаты x (без изменения фактического количества отображаемых единиц), но это не так. Каким-то образом меняется мой масштаб. В современном браузере вы можете проверить себя (потяните ползунок, чтобы изменить viewBox). Что я упустил в спецификации SVG?

1 Ответ

4 голосов
/ 13 января 2012

Вы пропустили атрибут preserveAspectRatio в спецификации SVG.Это заставляет соотношение сторон того, что вы видите в окне просмотра, сохраняться по умолчанию.Похоже, что вы ищете, preserveAspectRatio = "none"

...