Что такое SVG-файл? – Плюсы, минусы, XML-код

Давайте поговорим о SVG

Масштабируемая векторная графика (SVG) – это мощный язык на основе XML для создания двумерной векторной и смешанной векторной/растровой графики. В отличие от традиционных растровых изображений (PNG, JPG и т. д.), которые основаны на сетке пикселей, изображения SVG определяются с помощью геометрических примитивов, таких как линии, кривые, фигуры и текст. Эти векторные объекты хранятся в виде команд, чисел и формул, а не в пиксельной сетке, как в растровых изображениях. В результате SVG можно масштабировать бесконечно без потери качества, что делает их идеальными для иконок, логотипов, иллюстраций, спрайтов SVG и многого другого.

Одной из выдающихся особенностей SVG является их текстовая природа. Написанные в простом коде XML, SVG читаются человеком и могут редактироваться напрямую или программно. Эта структура обеспечивает уникальное преимущество SEO – поисковые системы, такие как Google, могут сканировать и понимать файлы SVG, извлекая ключевые слова и другие данные, встроенные в графику, что может помочь веб-сайту занять более высокое место в результатах поиска.

Вы можете создать файл SVG с помощью графических редакторов, таких как Inkscape, Adobe Illustrator, CorelDRAW и Figma, которые предоставляют удобные интерфейсы для визуального создания и редактирования файлов SVG, что делает их очень популярными. Однако в этой статье мы сосредоточимся на том, как создать SVG, написав XML-код или преобразовав растровые изображения в SVG.

SVG файл – XML код

Файл SVG написан на языке разметки XML. Код XML в документе SVG определяет все формы, пути, цвета и текст, составляющие изображение. Код SVG можно встроить непосредственно в HTML или сохранить в файл SVG и вставить, как любое другое изображение. Поскольку все содержимое файла SVG представляет собой текст, вы можете открыть его в текстовом редакторе, прочитать и отредактировать код SVG. Вы можете использовать современный веб-браузер, например Chrome, Firefox или Edge, чтобы открывать и просматривать онлайн-изображения SVG, не загружая их. Вы можете легко идентифицировать файл SVG по его расширению .svg.

Элементы и атрибуты

Каждый документ SVG базируется на основных структурных элементах XML: древовидной структуре, тегах, элементах и ​​атрибутах. Элементы применяются для рисования, преобразования, стилизации и размещения изображений. Они могут содержать атрибуты, определяющие его свойства, то есть сведения о том, как элемент следует обрабатывать или отображать. Элемент записывается с помощью начального и конечного тегов в угловых скобках. Файл SVG должен быть написан в соответствии с синтаксисом XML и спецификацией W3C SVG 2.0.

Давайте посмотрим на простой пример. Мы генерируем SVG-изображение четырех кругов разного размера и цвета с одним центром:

1<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
2    <circle cx="50" cy="50" r="40" fill="#B0C4DE" />
3    <circle cx="50" cy="50" r="30" fill="#DDA0DD" />
4    <circle cx="50" cy="50" r="20" fill="#FFB6C1" />
5    <circle cx="50" cy="50" r="10" fill="#5F9EA0" />
6</svg>

Основным элементом кода SVG является элемент <svg>, который определяет фрагмент документа SVG.

Вот полученное изображение ( circles.svg):

Text «Четыре круга разного размера и цвета с одним центром»

Кликните на изображение!

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

Text “SVG-изображение снежинки”Text “Изображение логотипа компании Aspose”Text “SVG-картинка похожа на «Сову» Пикассо”Text “SVG-изображение узора, состоящего из тюльпанов”
SnowflakeAspose LogoOwl (Picasso style)Tulips pattern
Text “SVG-изображение цветка”Text “SVG-изображение зимнего леса”Text “Абстрактное изображение, состоящее из разноцветных, плотно упакованных перекошенных четырехугольников”Text “Абстрактное изображение, состоящее из изогнутой линии, на концах которой расположены округлые формы, залитые градиентом”
FlowerWinter forestColorful MosaicGradient shapes

Глава Основы рисования SVG представляет собой учебное пособие, в котором рассматривается, как рисовать изображения SVG, и включает статьи о системах и единицах координат SVG, основных фигурах SVG, данных пути SVG, тексте SVG, основных трансформациях SVG, цвете SVG, заливке & обводке SVG, встроенном контенте SVG, а также фильтрах и градиентах SVG. Это руководство объясняет общие правила и стандартные шаги для создания SVG с нуля на основе простых примеров. Мы надеемся, что это поможет вам в вашей работе или учебе.

Плюсы и минусы формата SVG

ПлюсыМинусы
Бесконечное масштабирование – Отсутствие потери качества при любом размере.Размер файла увеличивается с детализацией – Сложные иллюстрации могут стать большими.
Небольшой размер для простой графики – Текстовая разметка хорошо сжимается.Не подходит для фотореализма – Ограниченное количество естественных цветовых градиентов.
Редактируется любым текстовым редактором – Полная программируемость.Более крутая кривая обучения – Код SVG может быть сложным для начинающих.
Встроенное сжатие (SVGZ) – На 50-80% меньше, чем обычный SVG.Старые браузеры – IE8 и более ранние браузеры не поддерживаются.
Доступность – Программы чтения с экрана и поисковые системы могут читать разметку.Отсутствует встроенная поддержка 3D – SVG ориентирован на 2D-графику.
Производительность – Может быть встроен в HTML для уменьшения количества HTTP-запросов.Снижение производительности при обработке тысяч элементов – Значительное влияние на DOM.
Анимация и интерактивность – Полный контроль JavaScript и CSS.
Стилизация с помощью CSS – Отделение дизайна от разметки.
Интеграция с DOM – Управление осуществляется через те же API, что и в HTML.
Открытый стандарт – Бесплатный, поддерживается W3C ( SVG 2.0).
Прозрачный фон по умолчанию – Идеально подходит для наложений.

Несмотря на эти недостатки, разработчики современных браузеров, а также команда Aspose.SVG утверждают, что SVG – это будущее графики веб-дизайна.

Конвертировать растровые изображения в SVG – Готовы попробовать?

Одним из способов создания документа SVG является преобразование растрового изображения в векторную графику. Aspose.SVG предлагает бесплатный онлайн-инструмент, который вы можете использовать для этого. Приложение Векторизатор изображений предназначено для конвертации растровых изображений JPG, PNG, BMP, TIFF, ICO и GIF в векторную графику на основе геометрических фигур, состоящих из кривых Безье и линий. После преобразования все элементы векторной графики сохраняются в файлы SVG.

Изображение рабочей области приложения Векторизатор изображений

История SVG

SVG был разработан Консорциумом Всемирной паутины (W3C) и имеет богатую историю, берущую начало в конце 1990-х годов. На заре Интернета быстро развивались различные форматы и расширения HTML. Очевидно, что формат векторной графики для Интернета был бы полезен. Рабочая группа SVG была создана в 1998 году, чтобы обеспечить стандартный способ представления векторной графики и предложить альтернативу форматам растровых изображений, таким как JPEG и GIF. К 1998 году у W3C существовало шесть конкурирующих приложений в области веб-векторной графики: Web Schematics, PGML, VML, Hyper Graphics Markup Language, WebCGM и DrawML, которые помогли определить, что в конечном итоге стало форматом SVG W3C. В результате рабочая группа SVG изучила общие требования к новому векторному формату и решила не разрабатывать какое-либо из существующих приложений, а разработать новый язык, принимая во внимание уроки, извлеченные из всей предыдущей работы. Среди разработчиков было общее согласие относительно типа необходимых инструментов векторной графики – кривые Безье, маски, композитинг – и рабочая группа SVG сосредоточилась на этой общности, а не на синтаксических конфликтах. По сути, SVG был разработан с нуля, с учетом всех предыдущих влияний.

Первая версия SVG, известная как SVG 1.0, была опубликована как рекомендация W3C 4 сентября 2001 года. Эта версия заложила основу векторной графики в Интернете и представила основные формы, текст, пути и преобразования. Разработка SVG 2.0 началась с цели уточнения и расширения спецификации SVG. SVG 2.0 призван предоставить новые функции и улучшить интеграцию с другими веб-стандартами. Последняя версия проект SVG 2.0 была выпущена 8 марта 2023 г.

SVG потребовалось некоторое время, чтобы завоевать популярность. Поддержка SVG была относительно небольшой до 2017 года, когда люди начали видеть преимущества использования SVG в современных веб-браузерах.

Типичные сценарии использования

Распространенные ошибки и способы их исправления

ПроблемаПричинаРешение
SVG отображается пустым в браузереОтсутствует или некорректен атрибут xmlnsУбедитесь, что корневой тег <svg> включает xmlns="http://www.w3.org/2000/svg"
Текст не выделяется и недоступен для поискаТекст преобразуется в контуры или линииСохраняйте элементы <text> в разметке; избегайте преобразования текста в фигуры при экспорте
Неожиданно большой размер файлаСлишком подробные контуры или ненужные группыУпростите пути с помощью таких инструментов, как SVGO, удалите скрытые слои и минимизируйте SVG
Цвета отображаются по-разному в разных браузерахИспользование нестандартных форматов цветовИспользуйте шестнадцатеричные (#RRGGBB) или CSS-имена цветов; избегайте использования rgb() с процентами
Анимация не запускаетсяОтсутствуют теги script или style во встроенном SVGПри встраивании поместите <style> и <script> внутрь элемента <svg> или укажите ссылки на внешние файлы
SVG не адаптивенИсправлены атрибуты width/height без viewBoxУдалите явные размеры и используйте viewBox с CSS width: 100%
Инструменты доступности не могут прочитать изображениеНет элементов <title> или <desc>Добавьте <title> для краткого описания и <desc> для подробной информации

Заключение

SVG – это важный формат в современной веб-разработке, предлагающий масштабируемость, гибкость, небольшие размеры файлов и программируемость. В отличие от растровых изображений, файлы SVG представляют собой текстовый XML, что делает их редактируемыми и доступными. Возможность стилизации и анимации SVG с помощью CSS и JavaScript еще больше повышает удобство их использования.

Несмотря на некоторые недостатки, такие как отсутствие фотореалистичного рендеринга и ограниченная поддержка 3D, SVG остается широко поддерживаемым стандартом векторной графики. Хотя у SVG есть некоторые ограничения, такие как сложность для высокодетализированных изображений и ограниченная поддержка браузеров для старых версий, их преимущества намного перевешивают эти недостатки. От иконок и логотипов до интерактивных веб-элементов и полиграфии, файлы SVG предлагают профессиональный и эффективный способ работы с векторной графикой.

Освоение SVG открывает мир творческих возможностей, позволяя вам создавать легкую, масштабируемую и высокоадаптивную графику для современных цифровых впечатлений.

Цель команды Aspose.SVG – помочь вам узнать достаточно о технологии SVG, чтобы вы могли создавать то, что вам нужно.

Следующие шаги и связанные ресурсы

Бесплатные веб-приложения SVG

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.