Перейти к содержимому

Векторная графика

Формат SVG: спецификация и направления

Направления в обе стороны: из SVG и в SVG, с параметрами каждого преобразования.

.svg6 направлений из SVG7 направлений в SVG

Спецификация SVG

Спецификация SVG
Полное имяScalable Vector Graphics
Разработчик спецификацииW3C
Год публикации2001
Расширение.svg
MIME-типimage/svg+xml
Тип содержимогоТекстовое
Модель сжатияБез потерь
Альфа-каналЕсть
МногостраничностьНе предусмотрена
Тип графикивекторная, разметка XML
Масштабированиебез потери качества
Возможностипрозрачность, градиенты, фильтры, анимация, CSS
Размерединицы килобайт для иконок
Осторожнофайл может содержать скрипты
Читающие программылюбой браузер, Inkscape, Adobe Illustrator, Figma, CorelDRAW, текстовый редактор
Документ спецификацииОткрыть спецификацию

SVG → другие форматы

Направления из SVG
НаправлениеЧто получитсяТочность
.svg.pngКонвертация SVG в PNGблизкая
.svg.jpgКонвертация SVG в JPGблизкая
.svg.pdfКонвертация SVG в PDFблизкая
.svg.icoКонвертация SVG в ICOблизкая
.svg.webpКонвертация SVG в WebPблизкая
.svg.epsКонвертация SVG в EPSприблизительная

Другие форматы → SVG

Направления в SVG
НаправлениеЧто получитсяТочность
.png.svgКонвертация PNG в SVGприблизительная
.jpg.svgКонвертация JPG в SVGприблизительная
.ai.svgКонвертация AI в SVGприблизительная
.eps.svgКонвертация EPS в SVGблизкая
.cdr.svgКонвертация CDR в SVGприблизительная
.pdf.svgКонвертация PDF в SVGблизкая
.dxf.svgКонвертация DXF в SVGприблизительная

Спецификация SVG

SVG — это XML-документ, описывающий геометрию: контуры кривыми Безье, примитивы, градиенты, обводки, группы и трансформации. Пиксельного размера у файла нет — есть система координат и атрибут viewBox, задающий видимую область. Отсюда и масштабируемость, и требование указывать размер при растеризации.

Отсутствие viewBox — самая частая техническая ошибка в присланных файлах: без него браузер не знает пропорций области и не может вписать изображение в контейнер, поэтому картинка либо обрезается, либо занимает фиксированные width и height из корневого элемента. Второй источник проблем — текст, оставленный текстом: элемент text ссылается на семейство шрифтов по имени, и при отсутствии гарнитуры на устройстве подставляется системная, что меняет ширину строки и ломает композицию. Решение одно — перевод текста в контуры.

Не всё, что выглядит вектором в редакторе, экспортируется вектором. Тени, размытия и сложные режимы наложения из Illustrator и Figma реализуются фильтрами SVG, которые растеризуются при отрисовке, либо вставляются готовыми растровыми фрагментами в base64 — файл раздувается и перестаёт масштабироваться без потерь. Отдельно стоит помнить, что SVG допускает элементы script и внешние ссылки, поэтому файлы из непроверенных источников перед публикацией очищают.

При растеризации в PNG или JPEG задаётся целевая ширина в пикселях, и качество результата зависит только от неё: иконка, описанная как 24 × 24 единицы, отрисуется в любом размере без ступенек. Рабочие величины: 512 либо 1024 пикселя под веб-логотип и от 2048 — под печать и крупноформатные носители. Обратная операция, трассировка растра в кривые, корректно работает на контрастных двухцветных изображениях; фотография распадается на тысячи контуров и даёт файл тяжелее исходного.

Форматы того же класса

Остальные записи класса «Векторная графика». Для каждой заведена своя страница с полным перечнем направлений: и от SVG, и к нему.

Вопросы по формату SVG

Почему при открытии SVG изображение занимает весь экран или, наоборот, крошечное?

Корневой элемент не содержит viewBox либо содержит его без width и height. В первом случае масштабирование невозможно, и применяются собственные размеры содержимого, во втором изображение растягивается на весь доступный контейнер. Корректная запись задаёт viewBox с координатами области и, при необходимости, размеры по умолчанию.

Как переносится прозрачность при растеризации?

В PNG и WebP альфа-канал сохраняется полностью, включая полупрозрачные заливки и мягкие края обводок. В JPEG альфа-канала нет, поэтому прозрачные области заливаются подложкой; цвет подложки задаётся в параметрах направления. Градиент с переменной прозрачностью в JPEG превращается в градиент по цвету подложки.

Что происходит при конвертации SVG в EPS для типографии?

Геометрия переносится в модель PostScript: контуры, заливки и обводки имеют прямые соответствия. Расходятся возможности: прозрачность и градиентная прозрачность в PostScript Level 2 не описываются и уплощаются, фильтры растеризуются, а цвет остаётся в RGB — перевод в CMYK выполняется уже в допечатной подготовке под конкретный профиль печати.