Canvas和SVG是HTML5中主要的2D圖形技術,前者提供畫布標籤和繪製API,後者是一整套獨立的矢量圖形語言,成爲W3C標準已經有十多年(2003.1至今),總的來講,Canvas技術較新,從很小衆發展到普遍接受,注重柵格圖像處理,SVG則歷史悠久,很早就成爲國際標準,複雜,發展緩慢canvas
如圖:dom
根據二者的不一樣特色,Canvas和SVG有各自的適用範圍svg
Canvas提供的功能更原始,適合像素處理,動態渲染和大數據量繪製大數據
SVG功能更完善,適合靜態圖片展現,高保真文檔查看和打印的應用場景spa
1.對於畫在Canvas上的部件,你須要處理重繪。而SVG則不用,你修改svg dom則系統會自動幫你重繪
2.Hittest,即canvas不負責幫你偵測鼠標/觸摸事件發生在哪個圖形元件上;而svg能夠。
3.Canvas效率高得多事件