Масштабируемая векторная графика (Scalable Vector Graphics)

Введение в SVG

Показывать лекцию целиком
Внимание! Для работы с этой лекцией необходимы учебные файлы, которые Вы можете загрузить здесь.

SVG (Scalable Vector Graphics, в переводе масштабируемая векторная графика) - это язык для описания двухмерной графики в формате XML. Можно сказать, что SVG – это HTML для графики. Он включает в себя несколько типов различных объектов:

  • векторную графику (линии, окружности, кривые)
  • текст (с форматированием, заданием стилей и эффектов)
  • растровые изображения (внедряемые в SVG–документ).
  • Графические возможности языка чрезвычайно велики и сравнимы с возможностями пакетов Corel Draw и Adobe Illustrator:

  • произвольные заливки, штриховки, градиенты, заливки заданным растром, а также произвольным фрагментом векторного изображения,
  • разнообразные стили линий - линии произвольной толщины, штриховые, с различными стилями угловых и конечных точек,
  • возможность использования кривых Безье (кубических и квадратичных),
  • поддержка прозрачности всего изображения или его части, с заданной степенью,
  • возможность применения фильтров, типичных для растровой графики – размытие, попиксельное смешивание, наложение,
  • поддержка Unicode – возможность отображения в одном SVG документе текстов на различных языках и различными шрифтами,
  • расположение текстовых строк вдоль произвольных кривых,
  • встроенные развитые средства анимации, позволяющие без программирования в режиме реального времени менять практически все атрибуты изображения или его фрагмента,
  • встроенные средства для создания интерактивности, а также поддержка JavaScript и DOM,
  • поддержка каскадных таблиц стилей (CSS),
  • поддержка антиалиасинга.
  • Название "масштабируемая векторная графика" отражает следующие превосходства языка:

  • SVG–документы могут быть отображены на самых различных устройствах – от экранов мобильных телефонов и карманных компьютеров(рис. 1.1) до мониторов PC и ноутбуков.
  • SVG–документы представляются в векторном формате, следовательно, их можно масштабировать без потери качества по сравнению с растровыми изображениями (рис. 1.2).
  • SVG–графика может быть создана "на лету" при помощи любого языка программирования (Javascript, Java или C#) и возможно управление видом этой графики в режиме работы приложения.
  • (рис 1.1) Бизнес-диаграмма в формате SVG

    (http://esvg.ultimodule.com/bin/esvg/templates/splash.asp?NC=2483X)

    (рис 1.2) Увеличенный фрагмент растрового (А) и векторного SVG (Б) изображений. У растрового изображения заметна "зазубренная" структура

    Объектная модель SVG документа основана на принятом консорциумом W3C в 2000 году стандарте DOM (Document Object Model) Level-2. Это дает возможность использования стандартных языков для начального построения и произвольного манипулирования любыми элементами изображения. Составной частью стандарта SVG является модель событий, позволяющая привязать произвольный сценарий к любому фрагменту SVG документа и достаточно легко реализовывать интерактивные графические изображения.

    SVG разрабатывается консорциумом W3C при поддержке таких крупных компаний, как Microsoft, Adobe, Corel, IBM, Hewlett-Packard, Sun Microsystems, Canon, Kodak и многих других (всего более двадцати). От их совместных усилий зависят стандартизация многих деталей языка, а также скорость его создания.

    Стандарт SVG 1.0 (http://www.w3.org/TR/2001/REC-SVG-20010904/) был принят в качестве спецификации консорциумом в сентябре 2001 г. Стандарт SVG 1.1 (http://www.w3.org/TR/SVG/) и его версии SVG mobile profiles (http://www.w3.org/TR/SVGMobile/) (SVG Basic and SVG Tiny) были приняты консорциумом в качестве рекомендации в январе 2003 г. Ведутся работы по созданию стандарта SVG 1.2 (http://www.w3.org/TR/2004/WD-SVG12-20040318/), который сейчас имеет статус черновика. Эта версия языка будет содержать ряд новых свойств: встроенные атрибуты фигурного форматирования текста, поддержка аудио и видео, а также более полная поддержка DOM.

    На момент написания этого курса рабочей версией является SVG 1.1. Поэтому именно его мы и будем рассматривать.

    Поддержка SVG браузерами

    В настоящее время SVG применяется в Интернете сравнительно мало. На сайтах, где используются SVG, оно не представляется непосредственно, а конвертируется в растровое изображение. Для этого используются различные библиотеки, например Batik (на языке Java), которые "на лету" выполняют преобразования.

    Браузеры Internet Explorer 9, Opera (начиная с 8-й версии) и Mozilla способны самостоятельно, без дополнительных утилит воспроизводить формат SVG. Что касается прочих браузеров – в том числе и Internet Explorer 6 (входящего в состав Windows XP), то им для воспроизведения нужны плагины. Наиболее распространен Adobe SVG Viewer, который можно бесплатно скачать с сайта Adobe (http://www.adobe.com/svg/viewer/install/ ) (был выпущен в сентябре 2003 года и с тех пор не обновлялся)

    Имеется также Corel SVG Viewer (http://www.corel.com/servlet/Satellite?pagename=CorelCom/ProcessLayoutlc=enppg=CorelCorp/Trials/DownloadContainer). Далее в книге будет использоваться описание Adobe SVG Viewer.

    SVG также может быть встроен в PDF документ. Adobe Acrobat Reader поддерживает SVG начиная с 6-й версии. Для встраивания SVG в PDF существует утилита для Adobe Acrobat Pro.

    Для мобильных устройств, телефонов и PDA, также существует поддержка SVG. Специально для них были разработаны варианты SVG формата: SVG Tiny (SVGT) and SVG Basic (SVGB). Имеется также конкурент SVG - Macromedia Flash Lite, который частично поддерживает SVG Tiny начиная с версии 1.1.

    На сайте W3C размещен официальный список программного обеспечения для SVG:

    http://www.svgi.org/

    Flash против SVG

    Самый распространенный векторный формат, который применяется для анимации в современном Интернете – Adobe (Macromedia) Flash. Яркие, интерактивные ролики, игры – автономные и распределенные, обучающие системы и видео – все это формат Flash, который по праву завоевал заслуженную популярность. Вместе с тем SVG очень похож на Flash. В табл. 1.1 приводится их сравнительная характеристика.

    Сравнение форматов Adobe (Macromedia) Flash и SVG
    СвойствоSWF (Flash)SVG
    Открытый стандарт, спецификация нет, Macromedia SWF Specification License (http://www.macromedia.com/software/flash/open/licensing/fileformat/) да, World Wide Web Consortium (W3C) Specification (http://www.w3.org/TR/SVG/>)
    Тип данных Двоичный Основанный на тексте, может быть прочитан непосредственно.
    Тип MIME application/x-shockwave-flash image/svg+xml
    Интерактивность. Есть Есть
    Сжатие Есть, zlib Есть, gzip
    Размер файлов В общем случае трудно сказать, какой из файлов – SWF или SVG будет более компактным. Поскольку SWF файлы двоичные, то следует ожидать от них меньшего размера. С другой стороны формат SVG поддерживает gzip компрессию и конечные SVGZ файлы могут быть сравнимы по размеру (такие документы имеют расширение svgz).
    Поддержка браузерами Большинство браузеров, включая самый распространенный Internet Explorer 6, содержат встроенные плейеры. Размер Adobe Flash Player 9 составляет 1,21 Мб Не поддерживается браузером Internet Explorer 6. Для отображения нужен плагин Adobe SVG Viewer 3.03, размер которого составляет 2,27 Мб
    Индексация поисковыми системами. Поддерживается, при помощи специальных средств. Поддерживается, причем описание и ключевые слова можно встраивать в сам SVG–документ.
    Поддержка графических фильтров Поддерживаются начиная с flash player 8 Есть
    Динамическая поддержка библиотек кода (PHP, XSLT, JSP) Есть Есть
    Поддержка CSS, XSL, XPath Труднореализуемо Есть.

    Можно заметить, что SVG–формат практически ничем не уступает Flash, а кое в чем и превосходит Flash. Почему же тогда последний используется несравненно более широко? Основная причина ограниченности распространения SVG файлов – отсутствие программных пакетов, таких как Adobe (Macromedia) Flash или Swish, позволяющих быстро создавать анимацию при помощи визуальных средств. Компания Kiyut создала неплохой редактор Sketsa SVG Graphics Editor (http://www.kiyut.com/products/sketsa/index.html), но он скорее напоминает одну из графических программ – Adobe Illustrator или Corel Draw, чем комплексный пакет графики и программирования Adobe (Macromedia) Flash (рис. 1.3):

    (рис 1.3) Редактор SVG–графики Sketsa SVG Graphics Editor

    Имеются также редакторы SVG, создаваемые энтузиастами. Pilat (http://pilat.free.fr/dessin_loc/draw.svg) создал достаточно интересный редактор в формате SVG, доступный онлайн, но до Flash ему также далеко (рис. 1.4):

    (рис 1.4) Веб-редактор SVG графики

    Одни из самых впечатляющих примеров использования SVG приложений расположены на сайте Adobe. Интерактивная диаграмма распределения численности населения по странам мира, с возможностью добавления величин и выбора типа графика (рис. 1.5)

    (рис 1.5) Диаграмма распределения численности населения по странам мира

    (http://www.adobe.com/svg/demos/chart.html)

    Схема зданий – близнецов с возможностью навигации по этажам и просмотра схемы (рис. 1.6):

    (рис 1.6) Интерактивная схема здания

    (http://www.adobe.com/svg/demos/vbs/html/frameset.html)

    И, наконец, самый интересный пример – то, чего не может Flash! Трехмерная структура химических соединений с возможностью управления в пространстве, масштабирования и выделения названий атомов как обычного текста (рис. 1.7):

    (рис 1.7) Пространственная структура молекул.(http://www.adobe.com/svg/demos/cml2svg/html/index.html)

    С помощью добавления JavaScript в формат SVG можно создавать также трехмерные анимированные изображения, например этот трехмерный куб был создан при помощи набора Batik SVG Toolkit (http://xml.apache.org/batik/) (рис. 1.8):

    (рис 1.8) Анимированный куб (3D.svg)

    Развитие векторных форматов

    В процессе развития сети Интернет появлялось множество векторных форматов. Некоторые из них не получили распространения и остались известны лишь небольшому числу разработчиков, некоторые обеспечивают внутреннее функционирование достаточно известных приложений. Но они представляют собой предшественников более известных форматов – таких как Flash и SVG. Рассмотрим некоторые из них.

    SVF (Simple Vector Format) был создан для представления в Интернете материалов, разработанных в системах CAD (AutoCAD, ArchiCAD). Первый плагин для отображения этого формата появился в 1996 г. Поддерживалось масштабирование, слои, гиперссылки. Формат не поддерживал анимации, интерактивности и антиалиасинга (http://www.softsource.com/svf/).

    DWF (Drawing Web Format) векторный формат, разработанный компанией AutoDesk поддерживающий основные функции векторной графики, а также JavaScript. Формат не поддерживал анимации. Для воспроизведения графики была создана серия плагинов AutoDesk WHIP4 (http://www.autodesk.com/whip) (с 2003 года плагин называется Volo View (http://www.autodesk.com/voloview).

    PGML (Precision Graphics Markup Language) собственный, основанный на тексте, векторный формат компании Adobe. Вначале планировалось его использование в качестве основы для форматов PostScript и PDF. Предполагалось также разработка версии формата с поддержкой высокого уровня интерактивности и анимации. (http://www.w3.org/TR/1998/NOTE-PGML)

    WebCGM (Web Computer Graphics Metafile, или CGM) является стандартом ISO бинарного графического формата с древовидной структурой. Применяется в основном в технической промышленности. Первая версия WebCGM была представлена в 1999 году консорциумом W3C. (http://www.w3.org/Graphics/WebCGM/)

    VML (Vector Markup Language) разработанный в Microsoft формат также основан на XML и близок по концепции и возможностям к SVG. Это формат был представлен консорциуму W3C для стандартизации, но был отвергнут в пользу SVG. VML используется для экспорта и импорта векторных графических изображений в MS Office (http://www.w3.org/TR/NOTE-VML).

    PDF (Portable Document Format) платформонезависимый формат электронных документов, созданный компанией Adobe с использованием ряда возможностей PostScript. В первую очередь предназначен для представления в электронном виде полиграфической продукции, — значительное количество современного профессионального печатного оборудования может обрабатывать PDF непосредственно. (partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf)

    VRML (Virtual Reality Modeling Language) предназначен для описания трехмерных изображений и оперирует объектами, описывающими геометрические фигуры и их расположение в пространстве. Подобно SVG файлы vrml представляют собой обычный текстовый файл, интерпретируемый браузером с помощью плагина (http://www.web3d.org/)

    HGML (Hyper Graphics Markup Language) Был представлен в июне 1998 в качестве компактного формата для веб-графики. Не был реализован. (http://www.w3.org/TR/NOTE-HGML)

    DrawML (Draw Markup Language) двухмерный формат векторной графики предназначенной для описания технической графики. (http://www.w3.org/TR/1998/NOTE-drawml-19981203)

    Просмотр SVG–графики в Adobe SVG Viewer

    Приступим к работе с плагином для просмотра SVG графики. Контекстное меню Adobe SVG Viewer очень похоже на меню обычного Flash проигрывателя (рис. 1.9):

    (рис 1.9) Меню Adobe Flash плеера и плагина Adobe SVG Viewer

    Изображение также можно увеличивать, уменьшать, для анимационного ролика можно останавливать его воспроизведения. Полезно запомнить следующие возможности для просмотра:

  • Ctrl + мышь – увеличить изображение.
  • Ctrl + Shift + мышь – уменьшить изображение.
  • Ctrl + выделение мышью – растянуть выбранный фрагмент на весь экран.
  • Alt + мышь – перетаскивание изображения.
  • Последнее свойство наиболее интересное –изображение можно "таскать" по экрану(рис. 1.10):

    (рис 1.10) Перетаскивание изображения мышью при удержании клавиши Alt (butterfly.svg)

    При выборе пункта меню "Find" открывается диалоговое окно поиска в SVG документе, поскольку он представляет собой текстовый файл. Просмотреть код исходного документа можно непосредственно в браузере (рис. 1.11):

    (рис 1.11) Просмотр кода SVG документа

    Панель информации в Internet Explorer 6 (Windows XP SP2)

    Всякий раз при открытии SVG–файла (как и впрочем, flash – ролика) в Internet Explorer появляется назойливое сообщение о блокировке активного содержимого (рис. 1.12):

    (рис 1.12) Блокировка активного содержимого

    Понятно, что созданные нами самими SVG–файлы не смогут причинить вреда компьютеру. Поэтому приходится всякий раз разрешать открытие, проделывая однотипную последовательность действий. Маловразумительная справка не предлагает способа решения этой проблемы. Для отключения панели информации в главном меню выбираем "Сервис\Свойства обозревателя", в появившемся окне переходим на вкладку "Дополнительно" и отмечаем галочкой пункт "Разрешать запуск активного содержимого файлов на моем компьютере" (рис. 1.13):

    (рис 1.13) Свойства обозревателя

    Теперь SVG–файлы будут открываться без всяких предупреждений.

    Создание SVG документов

    Приступим, наконец, к самому интересному – созданию собственных SVG–файлов. Запускаем блокнот, вводим в него следующий код:

    <svg width="200" height="100" >
      <rect x="50" y="40" width="100" 
            height="30" fill="blue"/>
    </svg>

    Сохраняем его, называя "SimpleSVG.txt", меняем расширение файла на "SimpleSVG.svg", открываем в браузере (после установки Adobe SVG Viewer) и видим синий прямоугольник (рис. 1.14):

    (рис 1.14) Создание первого документа "SimpleSVG.svg"

    Как видите, код достаточно прост. Но для использования именно версии SVG 1.1 нам придется ввести несколько формальных понятий. Шаблон документа SVG выглядит следующим образом:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg width="200" height="100"  
       xmlns="http://www.w3.org/2000/svg" version="1.1">
    </svg>

    Первая строка – это стандартное объявление XML – документа:

    <?xml version="1.0" encoding="utf-8"?>

    Далее помещается ссылка на DTD-схему документа версии 1.1:

    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

    Наконец, тег <svg> описывает содержимое SVG документа:

    <svg width="200" height="100"  
      xmlns="http://www.w3.org/2000/svg" version="1.1">

    Атрибуты width и height определяют значения ширины и высоты документа. Здесь приводятся значения в пикселях. Внутри тега указывается пространство имен и версия документа при помощи соответствующих тегов xmlns и version. Для правильной интерпретации SVG документа браузерами в принципе (как мы уже убедились), вполне достаточно следующего шаблона:

    <svg width="200" height="100">
    </svg>

    Однако далее мы будем применять полное описание. Дело в том, что простые элементы графики будут отображаться правильно, но сложные элементы, относящиеся к спецификации 1.1, могут быть не выведены. Лучше сразу привыкать правильно оформлять SVG–документы .

    Значения оси абсцисс возрастают при движении слева направо, а оси ординат – при движении сверху вниз (рис. 1.15)

    (рис 1.15) Расположение координатных осей SVG–документа

    При загрузке документа в браузер он располагается, начиная с верхнего левого угла видимой области. Поэтому выбранная система координат достаточно удобна.

    Добавляем в наш документ прямоугольник:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg width="200" height="100"  
      xmlns="http://www.w3.org/2000/svg" version="1.1">
         <rect x="50" y="40" width="100" height="30" fill="blue"/>
    </svg>

    Для заливки прямоугольника использовано именованное название цвета "blue". SVG графика поддерживает 147 именованных цветов. Документ вместе с прямоугольником будет выглядеть относительно координатных осей теперь так (рис. 1.16):

    (рис 1.16) SVG–документ с прямоугольником

    Сохраним теперь наш полный SVG документ, назвав его NormalSVG.txt, сменим расширение на "NormalSVG.svg", откроем в браузере – результат будет в точности такой же, как и для файла "SimpleSVG.svg" (рис. 1.17):

    (рис 1.17) Создание документа "NormalSVG.svg"

    В последующих главах мы будем разбирать другие элементы SVG–графики.

    Работа с Altova XML Spy

    Основной инструмент редактирования SVG–обычный текстовый редактор, однако в нем отсутствует подсветка синтаксиса и возможность быстрого просмотра внесенных изменений. При написании этого курса использовался, пожалуй, лучший редактор XML документов – Altova XML Spy 2007 (http://www.altova.com/ (36,3 Мб)). Его также можно применять для создания SVG–файлов. После запуска программы выбираем из списка шаблонов SVG–документ (рис. 1.18):

    (рис 1.18) Создание нового SVG–документа в Altova XML Spy

    Пролог нового документа содержит ссылку на упрощенную версию спецификации:

    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd">

    Копированием и вставкой эта спецификация заменяется на нужную нам:

    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

    Программа поддерживает несколько режимов отображения документа – Text (рис. 1.19, А), Grid (рис. 1.19, Б), Browser (рис. 1.19, В):

    (рис 1.19) Режимы отображения SVG– документа: А – Text, Б – Grid, В – Browser

    В режиме Text можно вводить код вручную, при этом работает подсветка синтаксиса, автозавершение строк, а в дополнительных окнах выводится информация об элементах (рис. 1.20):

    (рис 1.20) Работа в режиме Text

    Режим Grid позволяет конструировать SVG–документ, используя панели инструментов, доступна также сборка блоков при помощи удобного визуального представления (рис. 1.21):

    (рис 1.21) Режим Grid

    В режиме браузер содержимое SVG–документа отображается в графическом режиме непосредственно в программе.

    Для быстрого переключения между режимами Text и Browser удобно настроить сочетания клавиш. В главном меню программы выбираем "Tools" – "Customize…", в появившемся диалоговом окне в списке "Category" выбираем пункт View, далее в списке "Commands" выбираем последовательно пункты "Text View" и "Browser View", назначаем для них сочетания клавиш (рис. 1.22):

    (рис 1.22) Назначение сочетаний клавиш

    Вставка SVG рисунков в HTML – страницы

    Рассмотрим теперь вставку SVG–рисунков в HTML – страницы. Такая задача встречается, когда графика представляет собой меню сайта, диаграмму или элемент оформления. Существуют три способа встраивания:

  • При помощи тега <embed>.

    Фрагмент HTML – страницы:

    <body bgcolor = "#6699FF">
    <embed src="butterfly.svg" width="500" height="300" 
           type="image/svg+xml" name="mybutterfly" 
           pluginspage="http://www.adobe.com/svg/viewer/install/main.html" 
           wmode="transparent">
    </body>

    Дополнительный атрибут pluginspage указывает адрес страницы, на которую будет направлен пользователь в том случае, если его браузер не поддерживает SVG–графику. В данном случае для фона HTML - страницы установлен голубой цвет ( bgcolor = "#6699FF" ). Атрибут wmode делает прозрачной область рисунка, не заполненной графикой (рис. 1.23>):

    (рис 1.23) Встраивание SVG–документа при помощи тега embed

    Этот способ встраивания поддерживается многими браузерами и допускает прямое и обратное взаимодействие при помощи скриптов между HTML и SVG. Корпорация Adobe для своего плагина SVG Viewer рекомендует применение именно тега embed. Но он не вполне точно соответствует самой спецификации HTML.

  • При помощи тега <object>.

    Фрагмент HTML – кода страницы:

    <body bgcolor = "#6699FF">
    <object type="image/svg+xml" name="mybutterfly" 
      data="butterfly.svg" width="500" height="300">
      Для просмотра SVG графики Вам необходимо обновить браузер</object>
    </body>

    Внутри тега object помещено сообщение, которое будет отображено при невозможности отображения браузером SVG графики. В этом случае рисунок не содержит прозрачной области (рис. 1.24):

    (рис 1.24) Встраивание SVG–документа при помощи тега object

    Этот способ можно применять для всех браузеров, с поддержкой стандарта HTML 4.0 (или более высокого). Недостатком является отсутствие взаимодействия между HTML и SVG–рисунок может быть использован лишь в качестве иллюстрации или меню, в котором будет реализована система гиперссылок в самом SVG-документе.

  • При помощи тега <iframe>.

    Фрагмент HTML – кода страницы:

    <body bgcolor = "#6699FF">
    <iframe src="butterfly.svg" width="500" height="300" 
            name="mybutterfly" >
       Для просмотра SVG графики Вам необходимо обновить браузер
    </iframe>
    </body>

    Здесь также внутри тега iframe помещается информационное сообщение. Отображаемый рисунок также не содержит прозрачной области (рис.1.25):

    (рис 1.25) Встраивание SVG–документа при помощи тега iframe

    Этот способ поддерживается всеми современными браузерами, но он не документирован. Также заметна рамка вокруг рисунка. Для того чтобы от нее избавиться, следует добавить форматирование:

    frameborder="0" marginwidth="0"  marginheight="0"

    Фрагмент HTML – кода страницы теперь будет выглядеть так:

    <body bgcolor = "#6699FF">
     <iframe src="butterfly.svg" width="500" height="300" 
             name="mybutterfly" frameborder="0" 
             marginwidth="0"  marginheight="0">
        Для просмотра SVG графики Вам необходимо обновить браузер
     </iframe>
    </body>

    Теперь, страница будет выглядеть в точности так же, как и в случае применения тега object.

  • Обзор ресурсов, посвященных SVG-графике

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

  • Спецификация SVG 1.1 на сайте консорциума W3C http://www.w3.org/TR/SVG11/ Доступна также оффлайн версия спецификации, которую можно скачать в виде архива: http://www.w3.org/TR/SVG11/REC-SVG11-20030114.zip (2,82 Мб)

    В виде PDF – документа: http://www.w3.org/TR/SVG11/REC-SVG11-20030114.pdf (6,49 Мб) (На англ. языке)

  • Школа консорциума W3C – учебник, примеры, демонстрации, а также интерактивное изучение SVG графики:

    http://www.w3schools.com/svg/default.asp (На англ. языке)

  • Около 300 примеров, учебные материалы, доклады семинаров и презентации на сайте "SVGLearning By Coding" автора Thomas Meinike:

    http://svglbc.datenverdrahten.de/

    На главной странице сайта размещен призыв – не "грабить" примеры по частям, а совершенно бесплатно скачать весь архив :

    http://www.et.fh-merseburg.de/person/meinike/PDF/TMs-SVG-Package.zip (28,2 Мб) (На англ. и немец. языках)

  • Учебник по SVG (школы Информационных Технологий Государственного Университета Иллинойс (Illinois State University):

    http://www.itk.ilstu.edu/faculty/javila/SVG/index.htm

    Достаточно подробный учебник, содержащий все необходимые начальные сведения. Подробное, ясное изложение, отличные иллюстрации. (На англ. языке)

  • Учебные материалы, статьи, обзоры и примеры на сайте, посвященном картографии и географии:

    http://www.carto.net/papers/svg/ (На англ. языке, на сайте также представлены материалы на немец. и франц. языках)

  • Примеры, удобная галерея изображений, а также большое количество учебных материалов по смежным темам – XML, MathML, XSL:

    http://www.zvon.org/HowTo/Output/index.html (На англ. языке).

  • Небольшой учебник, несколько интерактивных примеров:

    http://apike.ca/prog_svg.html (На англ. языке)

  • Небольшой учебник по SVG, материалы по связке SVG + JavaScript:

    http://www.kevlindev.com/tutorials/basics/index.htm (На англ. языке)

  • Примеры, форум, статьи, посвященные связке SVG + PHP, а также хороший учебник – выполненный в формате SVG!

    http://www.learnsvg.com/ (На англ. языке)

  • Бесплатный веб-редактор SVG, статьи и учебные материалы по связке SVG + PHP:

    http://pilat.free.fr/english/index.htm (На англ. и франц. языках).

  • Статья, посвященная SVG, на сайте Новосибирского Государственного Университета. Интересно то, что весь сайт выполнен по технологии XML, а меню представляет собой SVG–документ:

    http://xml.nsu.ru/extra/svgintro_0.xml (На рус. языке)

  • Вернуться к учебному плану