Предисловие
Происхождение работки
Отображения координат
Обычное Windows-приложение
Анализатор кодов ошибок
Хозяйствование файловым
Графика OpenGL
Трехмерные графики миссий
От влажных COM API
Трехмерная графика
Из жизнедеятельности
Решаем краевую цель
Некие слухи
 
 
8.2. Работка со форматом SVG

В невымышленное время справка, которая размещена в Интернете, таскает совместный тип. Тяжкий обнаружить таковой сайт, в котором существо лишь графика или едва текст. Именно повсеместное внедрение графических данных в тексты уже довольно дальнее дало удар к возникновению формата S VG.
Сперва чем изъясняться о настоящем формате, вспомянуть, в каком облике живет графика в Интернете. В главном в трех растровых форматах —JPEG, GIF и PNG. Без того, немалое разнесение приобрела векторная Flash-графика.
Какие живут дефекты? Для растровых форматов данное:

  • чересчур здоровущий масштаб файлов;
  • отсутствие вероятности обменивать масштабы помимо ухудшения качества.

Flash-файлы неудобны тем, что целое содержимое передают как графику, что не сильно хорошенькое для текстового наполнения.
SVG в сем отношении неограниченно мятежный. Он создан на основе интернет-стандарта XML, который воображает из себя определенные требования написания кода HTML. Данное следовательно, что SVG, в отличие от SWF, не появляется компилированным файлом. Он описывает изображение при услуги стандартных норм XML и оттого может учреждать не лишь в графическом редакторе, но и в редакторе верстки HTML-полос, даже в распространенном Блокноте.
SVG (Scalable Vector Graphics) переводится как «масштабируемая векторная графика». Не совершенно естественно, отчего формат назван так — любая векторная графика мягко масштабируется, настоящее одно из ее главных свойств. Формат SVG объединяет в себе графические данные, текст и интерактивные детали.
Графические данные могут соль как векторными, так и растровыми. Векторная деталь в отечественную очередь делится на примитивы и линии (согнутый Безье). SVG гениален передавать и два облика анимации — заданную по эпизодам и программно описанную (однако, опыт появляется, что для произведения анимации сильнее продуктивен формат Flash). Доскональное описание формата SVG можно приобрести на официальном сайте http://www.w3.org/Graphics/SV6.
Свой образец будет довольно свободным, но благодатным. Мы создадим векторную особу, линии которой духи утолщаться при наведении курсора мышки. Используем свой жест (рис. 8.14).

Рис. 8.14. Исходная комплекция

Сформирование интерактивного SVG переть в себе ингредиенты программирования, оттого целым предметам необходимо дать имена, чтобы затем их использовать.
Выделите крест и раскроем палитру Layers (Пласты). Развернув исключительный налет, обнаружим данный предмет и переименуйте его в cross.

Уважение
В именах при спасении интерактивного SVG неосуществимо использовать пробелы и подчеркивания. Оттого даже Layer 1 необходимо переименовать в Layerl.
Для переименования двукратно щелкните левой кнопкой мышки на предмете и переменим имя в раскрыть окне (рис. 8.15).

Рис. 8.15. Окно свойств предмета

Затем сгруппируйте (Ctrl+G) крест со вокруг и аналогичным методом переименуйте Group в all.
Так как трудиться мы существуем со JavaScript-церемониями, необходимо подключить файл со описанием настоящих сделок. Данный файл вы можете обнаружить по адресу http://wnk.biz или чиркнуть сами, если смело имеете JavaScript.
Чтобы осуществить подключение файла, воспользуйтесь палитрой SVG Interactivity (SVG-интерактивность): Window > SVG Interactivity (Окно > SVG-Интерактивность). Щелкните на кнопке в типе стрелки на палитре и изберем в раскрыть меню JavaScript Files (рис. 8.16).

Рис. 8.16. Окно подключения JavaScript-файла

Щелкните на кнопке Add (Сложить) и обнаружим файл events.js на суровом винчестере.
Спустя сего можно приступать прямо к поручению интерактивности. Сие совершаться способами объектно-ориентированного программирования, сквозь явления и атрибуты к ним. Если вы учились программированием хотя бы на любительском ватерпасе, то вам целое будет сильно свободно и знакомо.

  1. 1. В Event (Явление) палитры SVG Interactivity (SVG-интерактивность) изберем происшествие onmouseover и черкаю в строчке JavaScript: eLemStrokeWidth(evt, 'all', '2.5'). Сие следовательно, что когда мышка будет обретаться над формой, толщина обводки станет сходна 2,5 пиксела.
  2. 2. Мы не станем комментировать значение наступающих строчек, так как данное имеет отношение к программированию на JavaScript. Дальше изберем onmouseout и строчить: elemStrokeWidth (evt, 'all', '1).
  3. 3. Изберем onmousedown и пописываю: elemStrokeColor(evt, 'cross', '#003399').
  4. 4. Изберем onmouseup и строчить: elemStrokeColor(evt, 'cross', '#000000').
    Вот и целое. Спустя сего палитра SVG Interactivity (SVG-интерактивность) должна высмотреть как на рис. 8.17.

Рис. 8.17. Итоговый образ палитры SVG Interactivity

Осталось оставить файл в формате SVG. Желательно, чтобы пространство спасения охватывало вновь и используемый JavaScript-файл — иначе правдоподобны трудности. Настройки спасения можно использовать по умолчанию. Изображение в Internet Explorer показано на рис. 8.18.

Рис. 8.18. SVG в окне обозревателя

Особенное уважение устремим на то, какого масштаба получился файл (у нас сие целого 720 байт!). Неважная GIF-анимация не сравнится со настоящим форматом по компактности.