比較html五、GML、SVG、VML

web圖形方案比較html5GMLSVGVML

GML、SVG和VML都是基於XML的可用來描述矢量圖形的標記語言,都是XML詞表,它們的語法並不難理解,但它們都有各自不一樣的用途和特色,下面簡單介紹一下。

GML(Geography Markup Language)

是基於XML的空間信息編碼標準,由OpenGIS Consortium (OGC)提出,獲得了許多公司的大力支持,如Oracle、Galdos、MapInfo、CubeWerx等。運用GML,封裝的地理數據和圖形解釋是清楚分離的。

GML基於XML用文本表示地理信息

因爲GML可當作是XML的一個具體的詞表,熟悉了XML就比較容易理解GML。並且隨着XML的應用日益普遍,GML也將受益。另外文本比較簡單、直觀,容易理解和編輯。

GML封裝了地理信息及其屬性

GML 基於地理信息抽象模型,即空間實體特徵及屬性封裝。地理特徵包括一系列的屬性和相應的幾何信息,通常來講屬性由名字、類型和值組成,幾何信息由基本元素如 點、線、面、曲線、多邊形等組成。目前GML主要侷限在二維應用,正擴展到二維半和三維空間以及特徵間的拓撲關係。GML容許至關複雜的特徵,如特徵間的 嵌套。例如飛機場由出租汽車道、飛機跑道等組成。

GML封裝了空間地理參考系統

空間地理參考系統是地理信息系統數據處理的基礎。GML封裝了空間地理參考系統、主要的投影關係等,保證分佈式處理的擴展性和靈活性。

GML能夠實現地理數據的分佈式存儲

GML對地理數據的分發是很是方便的技術手段,但其做用不止侷限於此,一樣能夠成爲地理數據分佈式存儲的重要手段。主要的技術工具是XLink和Xpointer。

從上邊的介紹能夠看出GML做爲描述空間信息的元語言的一些優勢。它只能描述空間實體的矢量信息和屬性,具體顯示的時候可採用兩種不一樣的途徑:
GML Drawà Display
GML Transform à SVG, VML Draw àDisplay
第一種途徑須要直接操做GML數據進行分析並顯示。
第二種途徑是把GML數據轉換成相應的圖形格式的數據,例如SVG,VML及X3D。而後由已經存在的支持這幾種圖形格式的軟件進行顯示。下面介紹一下SVG和VML。

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的預約義圖形元素:
Shape 
Path
Line 
Polyline
Curve 
Rect
Roundrect
Oval
Arc
Group

由 文本構成的圖像,並可集成到HTML。因爲VML使用簡單的文原本表示圖像,這樣就可用不多的字節來表示比較複雜的圖像。VML與HTML兼容,經過在 HTML中聲明VML命名空間並聲明處理函數,就能夠和其餘HTML元素同樣使用VML元素,在客戶端瀏覽器顯示圖像。VML標記裏面能夠定義DHTML 大部分屬性和事件,好比說id, name, title, onmouseover 等等。

支持交互與動畫

VML的功能不僅是繪圖,他還能夠在圖形中嵌入文本,並可實現超鏈,還可經過腳本語言實現必定的動畫功能。

SVG(Scalable Vector Graphics)

SVG 是一種基於XML的開放的矢量圖形描述語言。SVG圖像是與XML1.0兼容的文檔,SVG元素是指示如何繪製圖像的一些指令,閱讀器(Viewer)解 釋這些指令,把SVG圖像在指定設備上顯示出來。使用SVG能夠在網頁上顯示出各類各樣的高質量的矢量圖形,支持不少您想象得出的功能:幾何圖形、動畫、 漸變色、濾鏡效果等。最關鍵的是,它也是徹底用普通文原本描述的!也就是說,這是一種專門爲網絡而設計的基於文本的圖像格式。

SVG是對PGML和VML的一種綜合,因此VML的優勢也就成爲SVG的優勢,例如:
基於XML標準
高質量的矢量圖像
由文本構成的圖像

我 們能夠不用任何圖像處理工具,僅僅用記事本就能夠生成一個SVG圖像。這對於圖像處理的工做者來講可能會感到難以想象。其實仔細想一想也能夠理解,矢量圖像 通常是以算法指令來描述,創建在文本基礎上的SVG圖像中全部的描述語句均可以直接觀察到,因此也很是容易進行二次修改與更新,"可升級"的特色在這裏可 以獲得恰當的反映。

另外,與VML相比SVG還有一些優勢:

靈活的文件格式

SVG 可升級的特性不只僅表如今二次修改方面,還表如今另外不少地方,包括這裏介紹的靈活的文件格式。在之前的圖像中,文本都做爲位圖而保存於圖像中,圖像造成 之後不能單獨對文本進行修改;在PNG格式中這一點有所改進,文本可做爲一個獨立的層存在;SVG更靈活地擴展了圖像的文件格式,它由三個部分組成:矢量 圖形、位圖和文字。這樣SVG不只僅能夠應用矢量圖像和文字對象,一樣能夠歸入位圖,能夠製做出任何其它格式圖像能達到的效果。因爲文件格式是文本形式 的,能夠很容易地在之後任什麼時候候進行修改。並且在頁面運行的過程當中,也能夠對不少部分作即時的修改,其中的圖形描述還能夠重複使用。

支持交互和動畫

SVG支持SMIL(synchronized multimedia integration language),使得用戶能夠自由的同SVG中的元素完成一些交互的動做,從而完成既定的目標,這一點在目前單獨依靠圖片是完成不了的,須要由網頁中的腳本語句來實現。 

支持字符查找 

查找"圖片"中的字符,在SVG中成爲可能。而這在其它格式的圖片文件中則是不可能的。

支持Xlink 和Xpointer 

這樣就能夠在SVG文檔之間製做超級連接。

SVG 做爲W3C組織正式推薦的圖像格式,擁有衆多的支持機構。像Adobe公司已經宣稱將在推出的Adobe圖像處理套件如Illustrator、 Photoshop、GoLive和Cyber Studio中集成SVG的所有功能,而且還提供Netscape Navigator和IE的插件,以 便使其可以直接支持SVG文件的瀏覽。Netscape和Microsoft公司也已經開始進軍SVG領域,這標誌着將來的網絡瀏覽器將會內置對SVG文 件的支持功能。

總結

GML、SVG、VML都與矢量圖形有着密切的關係:GML在表 示實體的空間信息的同時加入了實體的其餘屬性信息,是表示實體的空間信息和屬性的編碼標準,但它並不支持直接顯示圖形。而VML和SVG是在表示圖形的矢 量信息同時加入了圖形的顯示信息(即以什麼樣的樣式顯示矢量圖形),是顯示矢量圖形的兩種比較好的格式。相比之下,SVG是綜合了VML的優勢後推出的, 是國際標準,它比VML具備更多的優勢,也有更廣闊的前景。但因爲VML有IE的支持,而SVG要想在瀏覽器中顯示就須要安裝插件,在這一點上,VML優 於SVGhtml

相關文章
相關標籤/搜索