VML(Vector Markup Language)
是一个最初由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是The Vector Markup Language的缩写。
参考网站
MSDN:http://msdn.microsoft.com/workshop/author/vml/shape/introduction.asp
W3C:http://www.w3.org/TR/NOTE-VML
首先需要在 标签中加上如下引用
xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"> ... |
如果没有您没有用到OFFICE的扩展功能的话,您可以忽略第二个schema。
同时,您需要在STYLE元素中注册VML和Microsoft Office Extensions
v\:* { behavior: url(#default#VML); } o\:* { behavior: url(#default#VML); } |
OFFICE の拡張機能を使用しない場合は、2 番目のスタイルの定義は無視してかまいません。
よく使用される要素について説明します
1. 形状要素
使用法:
共通属性:
FillColor: 画像の塗りつぶしの色。
タグ構文:
スクリプト構文:
element.fillcolor="expression"
expression=element.fillcolor
パス: ペイントのパスを指定します
スクリプトの使用法:
coordrigin = "0 0" coordsize="200 200"
style="position:relative;top:1;left:1;width:20;height:20"
path="m 1,1 l 1,200, 200,200 , 200,1 文字 l (小文字の L 文字、lineto コマンド) は線の描画を開始し、最初に (1,200) まで描画し、次に (200,200) まで描画し、次に (200,1) まで描画します
文字 x (閉じるコマンド) 行を閉じます
文字 e で終わります (終了コマンド)
注: 2 つの数字ごとに座標が形成されます
タイトル
: プロンプト テキストマウスが画像上に移動します
スタイル: 画像のスタイル
塗りつぶし: 閉じたパスで塗りつぶしが必要かどうかを決定します (True/False)
StrokeColor: 画像パスの色
2. Shape 要素の有効な子要素
TextBox: 定義します。画像内のテキスト ボックス
使用法:
TextPath
: テキスト パスを設定し、この属性を使用します。パス属性の TextPathOK は true であり、TextPath の on 属性は true である必要があります。
詳細な手順については、参考 Web サイトを確認してください。 ! ! 簡単な例:
xmlns:o="urn:schemas-microsoft-com:office:office"> style="position:relative;top:1;left:1;width:200;height:200" path = "m 1,1 l 1,250, 250,500, 500,500, 500,250, 250, 1 x e" title="test" strokeColor="yellow"> |