SVG, графический формат
Что такое SVG?
Scalable Vector Graphics (SVG) - это язык разметки на основе XML для описания двухмерной векторной графики.
По сути, это текстовый открытый веб-стандарт для описания изображений, которые могут быть отображены в чистом виде при любом размере и разработаны специально для работы с другими веб-стандартами, включая CSS, DOM, JavaScript и SMIL. SVG, по сути, является для графики тем же, чем HTML является для текста.
Изображения SVG и связанные с ними действия определяются в текстовых файлах XML, что означает возможность поиска, индексации, сценариев и сжатия. Кроме того, их можно создавать и редактировать с помощью любого текстового редактора или программ для рисования.
По сравнению с классическими растровыми форматами изображений, такими как JPEG или PNG, векторные изображения в формате SVG могут быть отображены в любом размере без потери качества и могут быть легко локализованы путем обновления текста в них, без необходимости использования графического редактора для этого. При наличии соответствующих библиотек файлы SVG можно даже локализовать на лету.
Применение SVG в промышленности
Мобильная связь
В 2001 году индустрия мобильных телефонов выбрала SVG в качестве основы для своей графической платформы. Многие ведущие компании присоединились к усилиям SVG и выпустили профили SVG Tiny и SVG Basic, получившие общее название SVG Mobile и предназначенные для устройств с ограниченными ресурсами, таких как мобильные телефоны и КПК.
Спецификация SVG Mobile была принята 3GPP в качестве необходимого графического формата для телефонов нового поколения и мультимедийных сообщений (MMS). Телефоны с поддержкой SVG уже поставляются по всему миру.
SVG Mobile в основном используется для обмена сообщениями в таких приложениях, как поздравительные открытки, диаграммы и анимация.
Более подробную информацию можно найти в спецификации SVG Mobile, автором которой является подгруппа SVG Working Group, включающая Nokia, Ericsson и Motorola.
Печать
Сочетание богатых графических возможностей, всесторонней поддержки текста и независимости от разрешения в SVG создает формат, подходящий для печати. Ведущие компании, занимающиеся производством оборудования для печати, в настоящее время разрабатывают спецификацию SVG Print: версию SVG, специально предназначенную для вывода на бумажные носители.
Среди вариантов использования SVG - язык описания страниц на основе XML, аналогичный Postscript и PDF, формат архивирования конечных форм и печать переменных данных, когда информация поступает из базы данных и выводится с помощью графического шаблона SVG. SVG обеспечивает идентичное отображение в режиме онлайн и на бумажном носителе.
Будучи основанным на XML, SVG Print прекрасно вписывается в существующие рабочие процессы XML. То есть организации, у которых есть конвейер обработки данных, поддерживающий XML, могут легко вставить возможности SVG Print в свой издательский процесс, обеспечивая динамическое создание документов. SVG Print также интегрируется с распространенными форматами описания заданий, такими как PPML от PODi и JDF от CIP4.
Более подробную информацию можно найти в спецификации SVG Print Specification, автором которой является подгруппа SVG WG, включающая Canon, HP, Adobe и Corel.
Веб-приложения
Веб-приложения становятся все более популярными. При этом разработчики часто сталкиваются с несовместимостью браузеров и отсутствием функциональности. Благодаря мощной поддержке сценариев и событий SVG можно использовать в качестве платформы для создания графически насыщенных приложений и пользовательских интерфейсов.
С SVG разработчик приложения получает возможность использовать коллекцию открытых стандартов. Они не привязаны к конкретной реализации, поставщику или инструменту создания.
Дизайн и взаимообмен
SVG хорошо подходит для рынка графического дизайна высокого класса, распространенного в аэрокосмической, транспортной, автомобильной и телекоммуникационной отраслях. Расширяемость XML позволяет диаграммам SVG иметь встроенные метаданные в собственных форматах без ущерба для представления.
Например, программа САПР может экспортировать диаграммы в SVG для отображения в Интернете, но при этом встроить в файл данные, облегчающие последующее редактирование или обход.
Кроме того, поскольку многие инструменты проектирования поддерживают импорт и экспорт SVG, его можно использовать в качестве формата обмена между приложениями.
Пример
Эллипс с горизонтальным линейным градиентом от желтого к красному
<!DOCTYPE html>
<html>
<body>
<svg height="150" width="400">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
<ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
Sorry, your browser does not support inline SVG.
</svg>
</body>
</html>