html5+svg學習指南之SVG基礎(chǔ)知識

百度百科:
SVG可縮放矢量圖形(Scalable Vector Graphics)是基于可擴展標記語言(XML),用于描述二維矢量圖形的一種圖形格式。SVG是W3C制定的一種新的二維矢量圖形格式,也是規(guī)范中的網(wǎng)絡矢量圖形標準。SVG嚴格遵從XML語法,并用文本格式的描述性語言來描述圖像內(nèi)容,因此是一種和圖像分辨率無關(guān)的矢量圖形格式。
什么是SVG?
SVG 指可伸縮矢量圖形 (Scalable Vector Graphics)
SVG 用來定義用于網(wǎng)絡的基于矢量的圖形
SVG 使用 XML 格式定義圖形
SVG 圖像在放大或改變尺寸的情況下其圖形質(zhì)量不會有所損失
SVG 是萬維網(wǎng)聯(lián)盟的標準
SVG 與諸如 DOM 和 XSL 之類的 W3C 標準是一個整體
Canvas 和 SVG 的區(qū)別:
SVG
SVG 是一種使用 XML 描述 2D 圖形的語言。
SVG 基于 XML,這意味著 SVG DOM 中的每個元素都是可用的。您可以為某個元素附加 JavaScript 事件處理器。
在 SVG 中,每個被繪制的圖形均被視為對象。如果 SVG 對象的屬性發(fā)生變化,那么瀏覽器能夠自動重現(xiàn)圖形。
特點:
不依賴分辨率
支持事件處理器
最適合帶有大型渲染區(qū)域的應用程序(比如谷歌地圖)
復雜度高會減慢渲染速度(任何過度使用 DOM 的應用都不快)
不適合游戲應用
Canvas
Canvas 通過 JavaScript 來繪制 2D 圖形。
Canvas 是逐像素進行渲染的。
在 canvas 中,一旦圖形被繪制完成,它就不會繼續(xù)得到瀏覽器的關(guān)注。如果其位置發(fā)生變化,那么整個場景也需要重新繪制,包括任何或許已被圖形覆蓋的對象。
特點:
依賴分辨率
不支持事件處理器
弱的文本渲染能力
能夠以 .png 或 .jpg 格式保存結(jié)果圖像
最適合圖像密集型的游戲,其中的許多對象會被頻繁重繪
svg 例子:
<svg width="100%" height="100%" >
<circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" />
</svg>
相關(guān)文章
基于html5實現(xiàn)的svg圖標手機菜單動態(tài)特效源碼
是一段基于HTML5實現(xiàn)的適合手機端展開收縮的動態(tài)導航菜單內(nèi)容展示效果代碼,本段代碼適應于所有網(wǎng)頁使用,有興趣的朋友們可以前來下載使用2015-11-25html5基于svg實現(xiàn)圓形進度統(tǒng)計動畫特效源碼
這是一款html5基于svg實現(xiàn)圓形進度統(tǒng)計動畫特效源碼,運行時可見統(tǒng)計進度呈現(xiàn)圓形展開及進度條顏色漸變的效果2015-11-19- 基于HTML5 SVG制作漢堡包菜單按鈕分段動畫效果,需要的童鞋直接下載源碼哦。2015-11-18
- 這篇文章主要介紹了深入解析HTML5使用SVG圖像時的viewBox屬性用法,包括一些響應式設(shè)計相關(guān)的內(nèi)容,需要的朋友可以參考下2015-09-02
HTML5+SVG實現(xiàn)的線性圖表特效源碼 可繪制圖表區(qū)域顏色
今天要分享的這款HTML5圖表應用是一款線性圖表,它主要是有SVG構(gòu)造出來的,這款SVG線性圖表可以用不同的顏色繪制出圖表的數(shù)據(jù)區(qū)域2014-11-10HTML5 SVG實現(xiàn)的Loading動畫加載特效源碼
這是一款基于HTML5/CSS3及SVG的Loading加載動畫特效,一共有4種不同的動畫效果。每一組Loading動畫都精致特別,各具特色,并且還有顏色漸變的動畫效果2014-06-19- SVG是Scalable Vector Graphics的縮寫,意為可縮放矢量圖形。1998年,萬維網(wǎng)聯(lián)盟成立了一個工作組,研發(fā)一種通過XML來表現(xiàn)矢量圖形的技術(shù)——SVG!由于SVG也是一種XML文件2015-11-27