位圖與矢量圖

位圖與矢量圖

位圖(BitMap)

位圖又叫像素圖,其構成最小單位是像素,在縮放過程中會失真。位圖是一個 HTML 元素,其中的圖形不會單獨創建 DOM 元素。因此我們不能通過 JavaScript 操控位圖內單獨的圖形,不能對其中的具體圖形進行監控。位圖每次更改位圖設置都會重新繪製,位圖相對矢量圖能達到更好的視覺效果,效果越複雜需要的像素越多,圖像文件內存佔比也越大

矢量圖

矢量圖也叫向量圖,在縮放過程中不會失真。其創建的每一個元素都是一個獨立的 DOM 元素,既然是獨立的 DOM 元素,可以通過 css 和 JavaScript 來操控 dom,也可以對每一個 DOM 元素進行監聽。對於矢量圖瀏覽器會記錄每個元素的形狀和顏色算法,來達到縮放也不失真。矢量圖輪廓形狀更容易修改和控制,可以用來做前端優化,但是對於單獨的對象,色彩上變化的實現不如位圖來的方便直接

附一張表格來自掘金小冊如何使用 Canvas 製作出炫酷的網頁背景特效

Canvas svg
依賴分辨率(位圖) 不依賴分辨率(矢量圖)
單個 HTML 元素 每一個圖形都是一個 DOM 元素
只能通過腳本語言繪製圖形 可以通過 CSS 也可以通過腳本語言繪製
不支持事件處理程序 支持事件處理程序
弱的文本渲染能力 最適合帶有大型渲染區域的應用程序(比如谷歌地圖)
圖面較小,對象數量較大(>10k)時性能最佳 對象數量較小 (<10k)、圖面更大時性能更佳
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章