1概述
SVG是一種用XML定義的語言,用來描述二維
矢量及矢量/柵格圖形。SVG提供了3種類型的圖形對象:矢量圖形(vectorgraphicshape例如:由直線和
曲線組成的
路徑)、圖象(image)、
文本(text)。圖形對象還可進行分組、添加樣式、變換、組合等操做,特徵集包括嵌套變換(nestedtransformations)、剪切
路徑(clippingpaths)、alpha蒙板(alphamasks)、濾鏡效果(filtereffects)、模板對象(templateobjects)和其它擴展(extensibility)。
SVG圖形是可交互的和動態的,能夠在SVG文件中嵌入動畫元素或經過
腳本來定義動畫。
SVG能夠算是目前最最火熱的
圖像文件格式了,它的英文全稱爲Scalable Vector Graphics,意思爲可縮放的矢量圖形。它是基於XML(Extensible Markup Language),由World Wide Web Consortium(W3C)聯盟進行開發的。嚴格來講應該是一種開放標準的矢量圖形語言,可以讓你設計激動人心的、高分辨率的Web圖形頁面。用戶能夠直接用代碼來描繪圖像,能夠用任何文字處理工具打開SVG圖像,經過改變部分代碼來使圖像具備互交功能,並能夠隨時插入到HTML中經過
瀏覽器來觀看。
它提供了目前網絡流行的GIF和
JPEG格式沒法具有的優點:能夠任意放大圖形顯示,但毫不會以犧牲圖像質量爲代價;可在SVG圖像中保留可編輯和可搜尋的狀態;平均來說,SVG文件比JPEG和GIF格式的文件要小不少,於是下載也很快。能夠相信,SVG的開發將會爲Web提供新的圖像標準。
2簡介
●SVG 指可伸縮矢量圖形 (Scalable Vector Graphics)
●SVG 用來定義用於網絡的基於矢量的圖形
●SVG 使用 XML 格式定義圖形
●SVG 圖像在放大或改變尺寸的狀況下其圖形質量不會有所損失
●SVG 是
萬維網聯盟的標準
●SVG 與諸如 DOM 和 XSL 之類的 W3C 標準是一個總體
3優點
在 2003 年一月,SVG 1.1 被確立爲 W3C 標準。
參與定義 SVG 的組織有:太陽微系統、Adobe、蘋果公司、IBM 以及柯達。
與其餘
圖像格式相比,使用 SVG 的優點在於:
●SVG 可被很是多的工具讀取和修改(好比
記事本)
●SVG 與 JPEG 和 GIF 圖像比起來,尺寸更小,且可壓縮性更強。
●SVG 是可伸縮的
●SVG 圖像可在任何的分辨率下被高質量地打印
●SVG 可在圖像質量不降低的狀況下被放大
●SVG 圖像中的文本是可選的,同時也是可搜索的(很適合製做地圖)
●SVG 能夠與 Java 技術一塊兒運行
●SVG 是開放的標準
●SVG 文件是純粹的 XML
SVG 的主要競爭者是 Flash。
與 Flash 相比,SVG 最大的優點是與其餘標準(好比 XSL 和 DOM)相兼容。而 Flash 則是未開源的私有技術。
目前,不是全部的
瀏覽器都支持 SVG,這也是 SVG 普及的最大障礙。Mozilla、Firefox 和 Opera 都支持 SVG,而
微軟也計劃這麼作。在
微軟最新發布的Internet Explorer 9 中已經提供了對SVG 格式的支持。
SVG
編輯器的數量正在增加,Adobe GoLive 5 也支持 SVG。
4實例
下面的例子是一個簡單的 SVG 文件的例子。SVG 文件必須使用 .svg 後綴來保存:
代碼解釋:
第一行包含了 XML 聲明。請注意 standalone 屬性!該屬性規定此 SVG 文件是不是「獨立的」,或含有對外部文件的引用。
standalone="no" 意味着 SVG 文檔會引用一個外部文件 - 在這裏,是 DTD 文件。
第二和第三行引用了這個外部的 SVG DTD。SVG 代碼以 <svg> 元素開始,包括開啓標籤 <svg> 和關閉標籤 </svg> 。這是根元素。width 和 height 屬性可設置此 SVG 文檔的寬度和高度。version 屬性可定義所使用的 SVG 版本,xmlns 屬性可定義 SVG 命名空間。
SVG 的 <circle> 用來建立一個圓。cx 和 cy 屬性定義圓中心的 x 和 y 座標。若是忽略這兩個屬性,那麼圓點會被設置爲 (0, 0)。r 屬性定義圓的半徑。
stroke 和 stroke-width 屬性控制如何顯示形狀的輪廓。咱們把圓的輪廓設置爲 2px 寬,黑邊框。
fill 屬性設置形狀內的顏色。咱們把填充顏色設置爲紅色。
關閉標籤的做用是關閉 SVG 元素和文檔自己。
5展示
在chrome中引入的代碼以下:
<object type="image/svg+xml"
data="/.../**.svg"></object>