Как масштабировать рисунок SVG

Если у меня есть карта в формате SVG, как я могу масштабировать изображение, скажем, в X раз больше? Как бы я этого достиг? Я хочу иметь возможность масштабировать его на основе переменной X, которая, конечно, варьируется

Я изучил это, но я потянул время. Я просто хочу знать, с чего начать.

1 ответ

Для масштабирования SVG-данных вам необходимо использовать масштабное преобразование.

Таким образом, чтобы сделать элемент, например, в 3 раза больше, вы бы использовали:

var mySVG = document.getElementById("mySvgElement");
var scaleCoefficient = 3; //this will make it 3 times bigger in x/y direction
mySVG.setAttribute("transform", "scale(" + scaleCoefficient + "," + scaleCoefficient + ")");

При этом будет применено масштабное преобразование "3" в направлениях x/y, в результате чего элемент будет увеличен в 3 раза без изменения соотношения сторон.

Элементы SVG определяются матрицей преобразования - это то, что векторные фигуры обычно используют для определения перемещения / поворота / размера без изменения фактических данных геометрии SVG самих фигур.

Другие вопросы по тегам