国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5中canvas與SVG有什么區別

2020-03-24 16:20:45
字體:
來源:轉載
供稿:網友
今天將和大家分享的是有關JavaScript中canvas與SVG的區別,有一定的參考作用,希望對大家有所幫助

【推薦課程:HTML5教程】

SVG

SVG 是一種使用 XML 描述 2D 圖形的語言,它基于XML也就是我們可以為某個元素附加JavaScript事件處理器,如果SVG 對象的屬性發生變化,那么瀏覽器能夠自動重現圖形。

Canvas

Canvas 通過 JavaScript 來繪制 2D 圖形。它是逐像素進行渲染的,一旦圖形被繪制完成,如果它的位置發生了變化,那么整個場景都需要重新繪制,包括任何或者已經被覆蓋的對象

SVG與canvas的區別

(1)SVG是用來描述XML中2D圖形的語言,canvas借助JavaScript動態描繪2D圖形

(2)SVG可支持事件處理程序而canvas不支持

(3)SVG中屬性改變時,瀏覽器可以重新呈現它,適用于矢量圖,而canvas不可以,更適合視頻游戲等。

(4)canvas可以很好的繪制像素,用于保存結果為png或者gif,可做為API容器。

(5)canvas取決于分辨率。SVG與分辨率無關。

(6)SVG具有更好的文本渲染,而Canvas不能很好的渲染,渲染中的SVG可能比Canvas慢,特別是應用了大量的DOM。

(7)畫布更適合渲染較小的區域。SVG渲染更好的更大區域。

SVG與canvas之間的比較

SVGcanvas可擴展
不可擴展支持DOM和事件 沒有事件支持不依賴分辨率 分辨率依賴 在渲染復雜區域時可能會更慢 不適合較大或復雜的區域 呈現更好更大的區域(DOM除外) 渲染更小的區域更好的矢量圖形 更適合動畫(視頻)和圖像 不適合API 適合API 很好地呈現文本 不能很好地呈現文本

案例分析

canvas繪制一個圓

 canvas id= circle /canvas  script type= text/javascript  var circle=document.getElementById( circle  var yuan=circle.getContext( 2d  yuan.beginPath(); yuan.stroke >

Image 19.jpg

可以看出圖片放大時邊框周圍有鋸齒

SVG繪畫一個圓

 ?xml version= 1.0 standalone= no ?  svg width= 100% height= 100% version= 1.1  circle cx= 100 cy= 50 r= 40 stroke= pink stroke-width= 2 fill= #fff /  /svg 

Image 20.jpg

可以看出SVG畫出的圖形放大不會失真。

總結:以上就是本篇文章的全部內容了,希望通過本篇文章使大家對canvas和SVG的區別有一定的了解。

以上就是HTML5中canvas與SVG有什么區別的詳細內容,html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿州市| 沾化县| 班戈县| 乌拉特中旗| 颍上县| 美姑县| 涿州市| 容城县| 淳化县| 蕉岭县| 霍州市| 和硕县| 灵丘县| 原阳县| 庄浪县| 石屏县| 泾阳县| 北海市| 三门峡市| 万载县| 津南区| 滨州市| 双桥区| 迁西县| 许昌市| 保山市| 永宁县| 潜山县| 铜鼓县| 阜宁县| 江华| 丰都县| 舟山市| 册亨县| 恩施市| 沾益县| 益阳市| 花垣县| 明溪县| 封开县| 孙吴县|