這篇文章給大家分享的是有關html5中Canvas和SVG的區(qū)別是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)擁有10余年成都網站建設工作經驗,為各大企業(yè)提供成都做網站、網站建設服務,對于網頁設計、PC網站建設(電腦版網站建設)、成都APP應用開發(fā)、wap網站建設(手機版網站建設)、程序開發(fā)、網站優(yōu)化(SEO優(yōu)化)、微網站、域名與空間等,憑借多年來在互聯(lián)網的打拼,我們在互聯(lián)網網站建設行業(yè)積累了很多網站制作、網站設計、網絡營銷經驗,集策劃、開發(fā)、設計、營銷、管理等網站化運作于一體,具備承接各種規(guī)模類型的網站建設項目的能力。
一、什么是Canvas ?
Canvas 是指定了長度和寬度的矩形畫布,我們將使用新的HTML5 JavaScript,可使用HTML5 JS API 來畫出各種圖形。不過,canvas本身并沒有繪制能力(它僅僅是圖形的容器) - 您必須使用腳本來完成實際的繪圖任務。
Canvas 實例代碼:創(chuàng)建畫布,然后再畫布上繪一個圓形
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas畫布</title> <style type="text/css"> .demo{ width: 500px; height: 150px; margin: auto; } </style> </head> <body> <div class="demo"> <!--添加canvas便簽,創(chuàng)建畫布--> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;"> 您的瀏覽器不支持 HTML5 canvas 標簽。 </canvas> </div> </body> <script type="text/javascript"> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.beginPath(); ctx.arc(95,50,40,0,2*Math.PI); ctx.stroke(); </script> </html>
效果圖:
二、什么是SVG ?
SVG可縮放矢量圖形(Scalable Vector Graphics)是基于可擴展標記語言(XML),用于描述二維矢量圖形的一種圖形格式。SVG是W3C制定的一種新的二維矢量圖形格式,也是規(guī)范中的網絡矢量圖形標準。SVG嚴格遵從XML語法,并用文本格式的描述性語言來描述圖像內容,因此是一種和圖像分辨率無關的矢量圖形格式。
我們可以簡要概括一下SVG:
SVG 指可伸縮矢量圖形 (Scalable Vector Graphics)
SVG 用來定義用于網絡的基于矢量的圖形
SVG 使用 XML 格式定義圖形
SVG 圖像在放大或改變尺寸的情況下其圖形質量不會有所損失
SVG 是萬維網聯(lián)盟的標準
SVG 與諸如 DOM 和 XSL 之類的 W3C 標準是一個整體
SVG實例代碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>SVG</title> <style type="text/css"> .demo{ width: 500px; height: 150px; margin: auto; } </style> </head> <body> <div class="demo"> <svg width="100%" height="100%" > <circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" /> </svg> </div> </body> </html>
效果圖:
三、Canvas 和 SVG的區(qū)別
SVG
SVG 是一種使用 XML 描述 2D 圖形的語言。
SVG 基于 XML,這意味著 SVG DOM 中的每個元素都是可用的。您可以為某個元素附加 JavaScript 事件處理器。
在 SVG 中,每個被繪制的圖形均被視為對象。如果 SVG 對象的屬性發(fā)生變化,那么瀏覽器能夠自動重現(xiàn)圖形。
特點:
不依賴分辨率
支持事件處理器
最適合帶有大型渲染區(qū)域的應用程序(比如谷歌地圖)
復雜度高會減慢渲染速度(任何過度使用 DOM 的應用都不快)
不適合游戲應用
Canvas
Canvas 通過 JavaScript 來繪制 2D 圖形。
Canvas 是逐像素進行渲染的。
在 canvas 中,一旦圖形被繪制完成,它就不會繼續(xù)得到瀏覽器的關注。如果其位置發(fā)生變化,那么整個場景也需要重新繪制,包括任何或許已被圖形覆蓋的對象。
特點:
依賴分辨率
不支持事件處理器
弱的文本渲染能力
能夠以 .png 或 .jpg 格式保存結果圖像
最適合圖像密集型的游戲,其中的許多對象會被頻繁重繪
感謝各位的閱讀!關于html5中Canvas和SVG的區(qū)別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網站題目:html5中Canvas和SVG的區(qū)別是什么
轉載來于:http://chinadenli.net/article14/jgjode.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站建設、定制網站、響應式網站、網站設計公司、自適應網站、品牌網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)