Canvas 和 SVG 的區別是什麼?
ead>首先簡單說一下Canvas
canvas是H5中新增的標籤,官方解釋說canvas是一塊畫布,可以在網頁中繪製圖像,話不多說,來個例子 ```html
```
再瞭解一下svg
svg即可縮放向量圖形,什麼是向量圖形呢,也就是放大或者縮小不會失真的圖形。svg繪圖時,每個圖形都是以DOM節點的形式插入到頁面中的,我們可以通過js來直接操作這些圖形。
區別
- Canvas 主要是用筆刷來繪製 2D 圖形的。
- SVG 主要是用標籤來繪製不規則向量圖的。
- 相同點:都是主要用來畫 2D 圖形的。
- 不同點:Canvas 畫的是點陣圖,SVG 畫的是向量圖。
- 不同點:SVG 節點過多時渲染慢,Canvas 效能更好一點,但寫起來更復雜。
- 不同點:SVG 支援分層和事件,Canvas 不支援,但是可以用庫實現。