html5中的繪圖方法:1、利用canvas畫布,它基于像素,提供2D繪制函數(shù),依賴于HTML,通過腳本繪制圖案;2、利用SVG矢量圖,它提供一系列圖形元素,適合靜態(tài)圖片展示,高保證文檔查看和打印的應(yīng)用場(chǎng)景。
本教程操作環(huán)境:windows7系統(tǒng)、HTML5版、Dell G3電腦。
html5中的繪圖方法有兩種:Canvas和SVG。
Canvas 和 SVG 都是 HTML5 中推薦的也是主要的2D圖形繪制技術(shù)
什么是 Canvas
<canvas>
是H5新增的組件,就像一塊幕布,可以使用腳本(通常為Javascript
)在其中繪制圖形的HTML
元素,他可以用來制作各種圖、表,或者一些動(dòng)畫。- Canvas 技術(shù)比較新,注重柵格圖像處理。
什么是SVG?
- SVG是一套獨(dú)立的矢量圖形語言,成為W3C標(biāo)準(zhǔn)已經(jīng)有十幾年,
- 基于可擴(kuò)展標(biāo)記語言XML 出來的
區(qū)別:
-
Canvas 基于像素,提供 2D 繪制函數(shù),是一種HTML元素類型,依賴于HTML,只能通過腳本繪制圖案;
-
SVG為矢量圖,提供一系列圖形元素
(Rect,Path,Circle,Line...)
;還有完整的動(dòng)畫,時(shí)間機(jī)制,本身就能獨(dú)立使用,也可以嵌入到HTML中。 -
Canvas是逐像素進(jìn)行渲染的,一旦圖形繪制完成,就不會(huì)繼續(xù)被瀏覽器關(guān)注。
-
SVG是通過DOM操作來顯示的。
功能對(duì)比:
Canvas 提供功能更原始,動(dòng)態(tài)渲染和大數(shù)據(jù)量繪制
-
依賴分辨率
-
不支持事件處理器
-
Canvas是逐像素進(jìn)行渲染的,一旦圖形繪制完成,就不會(huì)繼續(xù)被瀏覽器關(guān)注,所以文本渲染能力弱
-
能夠以.png 或 .jpg 格式保存結(jié)果圖像
-
Canvas 最適合有許多對(duì)象要被頻繁重繪的圖形密集型游戲
-
適合小面積,大數(shù)量的場(chǎng)景
SVG功能更完善,適合靜態(tài)圖片展示,高保證文檔查看和打印的應(yīng)用場(chǎng)景;
-
不依賴分辨率
-
支持事件處理器
-
SVG是通過DOM操作來顯示的,最適合帶有大型渲染區(qū)域的應(yīng)用程序(比如谷歌地圖)
-
復(fù)雜度高會(huì)減慢渲染速度(任何過度使用 DOM 的應(yīng)用都不快)
-
SVG由于DOM操作,在復(fù)雜度高的游戲應(yīng)用中會(huì)減慢渲染速度,不適合游戲應(yīng)用
-
適合大面積,小數(shù)量的場(chǎng)景。強(qiáng)烈建議在移動(dòng)平臺(tái)優(yōu)先選擇 SVG 進(jìn)行渲染。