Опубликован: 07.11.2007 | Доступ: свободный | Студентов: 1748 / 327 | Оценка: 4.29 / 4.14 | Длительность: 25:09:00
Специальности: Программист
Лекция 1:

Введение в SVG

Лекция 1: 123456 || Лекция 2 >

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

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

  1. При помощи тега <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>):

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

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

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

  2. При помощи тега <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):

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

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

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

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

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

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

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

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

    Рис. 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 (На рус. языке)

Лекция 1: 123456 || Лекция 2 >