VML

来自站长百科
跳转至: 导航、​ 搜索

VML是The Vector Markup Language(矢量可标记语言)的缩写。VML用于将图形数据矢量化的标记语言。这是一种基于 XML 语法的语言,由 AutoDeskMacromediaMicrosoftHP 公司向 W3C 提出的方案。

简介[ ]

VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的。

最初由Microsoft开发的XML词表,现在也只有IE5.0以上版本对VML提供支持。

使用VML可以在IE中绘制矢量图形,所以有人认为VML就是在IE中实现了画笔的功能。

VML的优点[ ]

  • 基于XML标准:XML是公认拥有无穷生命力的下一代网络标记语言, VML具有先天的优势,它的表示方法简单,易于扩展等等。
  • 支持高质量的矢量图形显示:矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途。
  • VML支持广泛的矢量图形特征,它们基于由相连接的直线和曲线描述路径。在VML中使用两个基本的元素:shape和group。这两个元素定义了VML的全部结构;shape描述一个矢量图形元素,而group用来将这些图形结合起来,这样它们可以作为一个整体进行处理。

预定义图形元素[ ]

VML规范包括大量的支持多种不同矢量图形特征的元素。下面是VML的预定义图形元素:

  •   l Shape
  •   l Path
  •   l Line
  •   l Polyline
  •   l Curve
  •   l Rect
  •   l Roundrect
  •   l Oval
  •   l Arc
  •   l Group

由文本构成的图像,并可集成到HTML

由于VML使用简单的文本来表示图像,这样就可用很少的字节来表示比较复杂的图像。VML与HTML兼容,通过在HTML中声明VML命名空间并声明处理函数,就可以和其他HTML元素一样使用VML元素,在客户端浏览器显示图像。VML标记里面可以定义DHTML大部分属性和事件,比如说id, name, title, onmouseover 等等。

支持交互与动画[ ]

VML的功能不只是绘图,他还可以在图形中嵌入文本,并可实现超链,还可通过脚本语言实现一定的动画功能。

VML 在firefox下是不被支持的,所以在用VML的时候要注意选用的浏览器!!

只能在IE浏览器或以IE为内核的浏览器才能用VML。

范例[ ]

下列的程式码会显示出一个涂满红色的椭圆形:

<v:oval style="position:absolute; left:0; top:0;
               width:100pt; height:50pt" 
               fillcolor="red">
</v:oval>

脚本动态生成VML[ ]

我们编写 VML 很重要的就是要和数据库结合,如果和数据库结合了,读数据和把数据转换成 VML 变成了两部分。如果直接使用 ASP 生成 包含很多 VML 的页面, 一旦数据量多了,整个页面就变得很庞大,下载速度慢了,IE解释代码的速度也慢了,所以用脚本动态生成 VML 变得非常重要了。

用 VML 画一个示意图,可以更明确上面的意义:

 <html>
  <head>
    <title>Untitled</title>
  </head>
  <script language="JavaScript">
  function createPoint(x,y,value)
  {
  ...
  }
  </script>
  <body>
  </body>
  </html>

主页面带有脚本,可以实现诸如增加 VML 元素的功能。子页面是个ASP程序,从数据库中读取数据,生成相应的脚本,比如:

<script>
self.parent.createPoint(10,10,"第一点");
self.parent.createPoint(1055,1330,"第二点");
self.parent.createPoint(2330,1230,"第三点");
</script>

这样,读数据和初始法脚本就同时进行了。

相关条目[ ]

参考来源[ ]