Как создать svg определенного размера

Начал изучать svg и немного запутался.
Комбинируя параметры viewBox и viewport можно масштабировать картинку в несколько раз, но если мне просто нужно создать svg фиксированного размера, например конкретно 50 пикселей, то что нужно сделать?
Конечно сайты с иконками позволяют скачивать картинки разного размера, но хотелось бы самому уметь управлять размерами svg.
Кто-нибудь может помочь разобраться?


Ответы (1 шт):

Автор решения: Alexandr_TT

если мне просто нужно создать svg фиксированного размера, например конкретно 50 пикселей, то что нужно сделать?

  1. Если будете создавать SVG в векторном редакторе, то нужно выбрать размер документа 50x50px и рисовать внутри ограничивающей документ рамки. Что будет выходить за границы документа, будет обрезано.

  2. В готовом SVG документе размеры изображения зависят от соотношения
    viewport / viewBox = 1 при равенстве размеров изображение выводится в том же масштабе, как нарисовано.

Допустим вы скачали иконку 24px

<svg fill="#000000" height="24" width="24" viewBox="0 0 24 24"  xmlns="http://www.w3.org/2000/svg">
    <path d="M0 0h24v24H0z" fill="none"/>
    <path d="M13.49 5.48c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-3.6 13.9l1-4.4 2.1 2v6h2v-7.5l-2.1-2 .6-3c1.3 1.5 3.3 2.5 5.5 2.5v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1l-5.2 2.2v4.7h2v-3.4l1.8-.7-1.6 8.1-4.9-1-.4 2 7 1.4z"/>
</svg>

Вам нужно её увеличить в два раза viewport / viewBox = 2 в этом случае необходимо увеличить viewport в два раза width="48" height="48", при том же значении viewBox = "0 0 24 24"

<svg fill="#000000" height="48" width="48" viewBox="0 0 24 24"  xmlns="http://www.w3.org/2000/svg">
    <path d="M0 0h24v24H0z" fill="none"/>
    <path d="M13.49 5.48c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-3.6 13.9l1-4.4 2.1 2v6h2v-7.5l-2.1-2 .6-3c1.3 1.5 3.3 2.5 5.5 2.5v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1l-5.2 2.2v4.7h2v-3.4l1.8-.7-1.6 8.1-4.9-1-.4 2 7 1.4z"/>
</svg>

Более подробно о взаимодействии viewport и viewBox можно почитать здесь

→ Ссылка