SVG 全名為 Scalable Vector Graphics (可縮放向量圖形),是一種基於 XML 的應用於描述二維向量圖形的圖形格式。SVG 是由 W3C 制定的開放標準。
SVG 從 1999 年起由一組加入 W3C 的公司啟動開發,與之前 1998 年提交給W3C的標準(PGML、VML)構成競爭。從這兩個格式吸取了經驗,
SVG允許 3 種圖形物件類型包含:向量圖形、柵格圖像以及文字。圖形物件——包括PNG、JPEG這些柵格(柵格化是將向量圖形格式表示的圖像轉換成點陣圖以用於顯示器或者印表機輸出的過程。 )圖像——能夠被編組、設計、轉換及整合進先前的物件中。文字可以在任何適用於應用程式的 XML 命名空間之內,從而提高 SVG 圖形的搜尋能力和無障礙性。SVG 提供的功能集涵蓋了巢狀轉換、裁剪路徑、Alpha色版、濾鏡效果、模板物件以及可延伸性。
SVG嚴格遵從XML語法,並用文字格式的描述性語言來描述圖像內容,因此是一種和圖像解析度無關的向量圖形格式。
SVG主要支援以下幾種顯示物件:
- 向量顯示物件,基本向量顯示物件包括矩形、圓、橢圓、多邊形、直線、任意曲線等
- 嵌入式外部圖像,包括PNG、JPEG、SVG等
- 文字物件
SVG 可以實現動態和互動功能。在 DOM 模型的基礎上,SVG 開發設計人員可以利用 ECMAScript 或者 SMIL 來進行時序控制或物件的操縱。SVG 雖然是文字格式,但是 SVG 支援利用 gzip 壓縮演算法減少檔案尺寸,壓縮後的檔案通常用被稱為「SVGZ檔案」。
SVG 的基本結構如下:
<svg version="1.1"
baseProfile="full"
width="300" height="200"
xmlns="http://www.w3.org/2000/svg">
<rect width="100%" height="100%" fill="red" />
<circle cx="150" cy="100" r="80" fill="green" />
</svg>
其中 svg 就很像畫布一樣,要先設定標籤後裡面才可以使用 svg 的標籤來繪圖,而裡面的 rect 跟 circle 則是基本的矩形與橢圓形的標籤,可以幫助我們快速的繪製出該種形狀。