VML 的用法和實例
引入命名空間之後,就可以直接使用標簽的方式繪制圖形。
如下例:繪制一條從 坐標(20,20) 到 坐標(200,200) 的直線。
<HTML xmlns:v = "urn:schemas-microsoft-com:vml">
<HEAD><TITLE>VML Example</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
</HEAD>
<body>
<v:line from="20,20" to="200,200"></v:line>
</body>
</html>
說明: xmlns:v = "urn:schemas-microsoft-com:vml" 必不可少, 是引入VML的命名空間。
比較好的學習資料:
1 . http://msdn.microsoft.com/zh-cn/library/bb263897.aspx MSDN上的VML學習資料
2. http://www.itlearner.com/code/vml/index.html 一個比較簡單、清晰的中文入門教程
3. http://www.dynamicdrive.com/dynamicindex11/editor.htm 在線繪制VML圖的編輯器, 圖形繪制完成可以產生對應的XML Code.
SVG 的用法及實例SVG在HTML中使用的方式有兩種:
1. 和VML一樣, 導入命名空間之後, 直接使用svg標簽。(有的教程說此方式不能使用, 估計是svg的發展支持了這種方式)
<HTML xml:lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:svg="http://www.w3.org/2000/svg">
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
<line x1="0" y1="0" x2="300" y2="300" style="stroke:rgb(99,99,99);stroke-width:2" />
</svg>
</BODY>
</HTML>
很簡單,也是畫一條線,語法基本和VML類似
2. SVG先繪制圖形保存為後綴名為.svg 的文件, 再把這個文件嵌入到 HTML文檔中。
嵌入可以同個以下三種標簽的方式:
1). <embed>
2). <object>
3). <iframe>
先創建一個.svg後綴的文件
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<line x1="0" y1="0" x2="300" y2="300"
style="stroke:rgb(99,99,99);stroke-width:2" />
</svg>
embed 標簽方式==》
<HTML> <HEAD> <TITLE>Embed SVG </TITLE> </HEAD> <BODY> <embed src="line.svg" width="300" height="100" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" /> </BODY> </HTML>
這是Adobe SVG Viewer推薦的方法。主持所有主流浏覽器,允許使用腳本;不過這個標簽不是合法的XHTML.
object標簽 ==>
<HTML>
<HEAD>
<TITLE> Object SVG </TITLE>
</HEAD>
<BODY>
<object data="line.svg" width="300" height="100"
type="image/svg+xml"
codebase="http://www.adobe.com/svg/viewer/install/" />
</BODY>
</HTML>
被所有較新的浏覽器支持,不允許使用腳本。 如果安裝了最新版本的Adobe SVG Viewer,會出現一些問題。
iframe 標簽方式==>
<HTML>
<HEAD>
<TITLE> IFrame SVG </TITLE>
</HEAD>
<BODY>
<iframe src="line.svg" width="300" height="100">
</iframe>
</BODY>
</HTML>
HTML5 Canvas 元素繪圖canvas 是HTML5支持的一種元素。
canvas 元素本身是沒有繪圖能力的。所有的繪制工作必須在 JavaScript 內部完成:
同樣是繪制一條線:
<HTML>
<HEAD>
<TITLE> Canvas </TITLE>
</HEAD>
<BODY>
<canvas id="myCanvas" width="200" height="100"></canvas>
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.moveTo(10,10);
cxt.lineTo(150,50);
cxt.stroke();
</script>
</BODY>
</HTML>
一些說明
針對目前的狀況來說, SVG技術應該是web圖形繪制的主流。
IE9 及以上已經支持svg了, 而且微軟本身也把VML作為一種過時技術來看待了。
HTML5 技術,基本上處於眾說紛纭的狀態。
Facebook 應用失敗,轉而使用原生應用。
Firefox OS卻又轟轟烈烈的扛起了大旗。
結果和命運怎樣,只有交給時間來抉擇了。