Главная » Полезные статьи » Разное » Введение в VML — язык описания векторной графики
Распечатать статью

Введение в VML — язык описания векторной графики

Наверняка мало кто из вас слышал о VML (Vector Markup Language). Этот удобный и мощный язык был незаслуженно забыт по трем причинам:

— выполнение его предполагало наличие специального plug-in в IE у пользователя
— FLASH во многих случаях оказался удобней
— SVG (альтернативный язык, применяемых для сходных целей) вытеснил его

Но VML привлекателен своей простотой (достаточно базового знания HTML) и безопасностью (в нем не было обнаружено «дырок», таких как во Флеше). С помощью него можно рисовать графики и много других нужных вещей. Вот, например, один из примитивов VML:

Итак, с чего начать? Начать нужно с понимания того, что этот язык является подмножеством XML и, следовательно, все тэги должны быть обязательно закрыты. Теперь нам нужно немного изменить начало нашей странички, а точнее, аттрибуты тэга html:

 

<html xmlns:v=»urn:schemas-microsoft-com:vml»>

С этой строки начинается любой VML-документ.
Далее нам нужно сделать следующее объявление:

 

<style> v:* { behavior: url(#default#VML); } </style>

Ну вот, теперь в любом месте между тэгами <body> и </body> мы можем использовать тэги VML, например:

 

<v:roundrect style=»width:150pt;height:50pt»/>

(нарисует прямоугольник со скругленными углами, ширина 150б высота 50)

Подробнее

Так в чем же фишка? А фишка в том, что мы можем делать с нашими объектами после загрузки все, что пожелаем — ведь, как вы заметили, параметры фигур описываются точно так же, как и в стилях. Кроме того, мы можем менять параметры и положение объектов VML при помощи скриптов. Например, нарисовать линию в VML очень просто:
<v:line from=»10,10″ to=»100,100″/>
Еще можно нарисовать, например, овал — это для сравнения:
<v:oval style=»position:absolute;top:100;left:100; width:150pt;height:50pt» fillcolor=»green»/>
А вот пример с использованием многих разных фигур:

 

<v:line strokecolor=»red» strokeweight=»2pt» from=»100pt,100pt» to=»200pt,150pt»>
<v:stroke endarrow=»diamond»/>
</v:line><v:line strokecolor=»yellow»strokeweight=»2pt» from=»100pt,100pt» to=»50pt,100pt» >
<v:stroke endarrow=»classic»/>
</v:line>

<v:line strokecolor=»blue» strokeweight=»2pt» from=»100pt,100pt» to=»120pt,120pt» >
<v:stroke endarrow=»block»/>
</v:line>

<v:line strokecolor=»black» strokeweight=»2pt» from=»100pt,100pt» to=»150pt,200pt»>
<v:stroke endarrow=»none»/>
</v:line>

<v:line strokecolor=»green» strokeweight=»2pt» from=»100pt,100pt» to=»200pt,85pt»>
<v:stroke endarrow=»oval»/>
</v:line>

<v:line strokecolor=»green» strokeweight=»2pt» from=»100pt,100pt» to=»200pt,100pt»>
<v:stroke endarrow=»open»/>
</v:line>

<v:oval style=»width:100pt; height: 50pt» fillcolor=»pink» />
<v:curve from=»10pt,10pt» to=»100pt,10pt» control1=»40pt,30pt» control2=»70pt,30pt»>
</v:curve>

<v:rect id=myrect fillcolor=»red» style=»position:relative;top:100;left:100;width:20;height:20;rotation:10″>
</v:rect>

<>

Для удобства можно включать в этот код комментарии HTML.
Фигуры VML при этом являются такими же объектами для скриптовых языков типа JavaScript, как и объекты HTML, таким образом, мы имеем к ним полный доступ и можем динамически модифицировать. И еще одно хорошее преимущество: можно значительно уменьшить размер Вашей странички, заменяя несложные рисунки и графики тэгами VML, например кривую такого графика:

можно заменить такой строкой

<v:polyline points=»5pt,10pt 15pt,20pt 100pt,50pt 50pt,100pt 5pt,10pt»/>

В следующей соей статье я постараюсь осветить SVG, а пока — поэкспериментируйте с VML.
Успехов!

 

Источник: woweb.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи