成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > HTML5之SVG 2D入門13—svg對(duì)決canvas及長處和適用場(chǎng)景分析

HTML5之SVG 2D入門13—svg對(duì)決canvas及長處和適用場(chǎng)景分析

熱門標(biāo)簽:400開頭的電話好申請(qǐng)不 小朱地圖標(biāo)注 地圖標(biāo)注柱狀圖 智能芯電話機(jī)器人 四川移動(dòng)電銷外呼客戶管理系統(tǒng) 怎么做百度地圖標(biāo)注 咸陽穩(wěn)定外呼系統(tǒng)軟件 百度地圖標(biāo)注為什么總是封號(hào) 臨海地圖標(biāo)注app

到目前為止,SVG與Canvas的主要特性均已經(jīng)總結(jié)完畢了。它們都是HTML5中支持的2D圖形展示技術(shù),而且均支持向量圖形。現(xiàn)在,我們就來比對(duì)一下這兩種技術(shù),分析一下它們的長處和適用場(chǎng)景。
首先分析一下兩種技術(shù)的顯著特點(diǎn),看下面的表格: 

Canvas SVG
基于像素(動(dòng)態(tài) .png) 基于形狀
單個(gè) HTML 元素 多個(gè)圖形元素,這些元素成為 DOM 的一部分
僅通過腳本修改 通過腳本和 CSS 修改
事件模型/用戶交互顆?;?(x,y) 事件模型/用戶交互抽象化 (rect, path)
圖面較小時(shí)、對(duì)象數(shù)量較大 (>10k)(或同時(shí)滿足這二者)時(shí)性能更佳 對(duì)象數(shù)量較小 (<10k)、圖面更大(或同時(shí)滿足這二者)時(shí)性能更佳

從上面的對(duì)比中可以看出:Canvas在像素操作方面有著強(qiáng)大的優(yōu)勢(shì);而SVG的最大優(yōu)勢(shì)在于便捷的交互性和可操作性。使用Canvas受畫布的尺寸(其實(shí)就是像素?cái)?shù)目)影響很大,使用SVG受對(duì)象的數(shù)目(元素的數(shù)目)影響比較大。Canvas 和 SVG 在修改方式上還存在著不同。繪制 Canvas 對(duì)象后,不能使用腳本和 CSS 對(duì)它進(jìn)行修改。而 SVG 對(duì)象是文檔對(duì)象模型的一部分,所以可以隨時(shí)使用腳本和 CSS 修改它們。
實(shí)際上Canvas 是基于像素的即時(shí)模式圖形系統(tǒng),繪制完對(duì)象后不保存對(duì)象到內(nèi)存中,當(dāng)再次需要這個(gè)對(duì)象時(shí)想,需要重新繪制;SVG 是基于形狀的保留模式圖形系統(tǒng),繪制完對(duì)象后會(huì)將其保存在內(nèi)存中,當(dāng)需要修改這個(gè)對(duì)象信息時(shí),直接修改就可以了。這種根本的區(qū)別導(dǎo)致了很多應(yīng)用場(chǎng)景的不同。

在下面的幾個(gè)常見應(yīng)用中,我們也可以體會(huì)到這一點(diǎn)。
高保真的文檔
這個(gè)方面很好理解,為了瀏覽文檔時(shí),縮放時(shí)不失真,或需要打印高質(zhì)量的文檔,通常會(huì)優(yōu)先選擇SVG,例如地圖服務(wù)。
靜態(tài)的圖片資源
SVG常常用于簡單圖像,無論是應(yīng)用程序還是網(wǎng)頁中的圖像,大圖像還是小圖像。由于SVG要加載到DOM中,或者創(chuàng)建圖像前至少要進(jìn)行解析,所以性能會(huì)稍微有所下降,但相比于呈現(xiàn)網(wǎng)頁的成本(大約幾毫秒),這種效率損失是極其微小。
在文件大小方面(為了評(píng)估網(wǎng)絡(luò)流量的目的),SVG圖片與png圖片大小相差也不大。但是因?yàn)镾VG作為圖像格式是可縮放的,所以如果開發(fā)人員想要以更大的比例使用該圖像,或者用戶使用高 DPI的屏幕,則使用SVG是相當(dāng)不錯(cuò)的選擇。

像素操作
使用Canvas時(shí)可以獲得快速的繪圖速度,且不需要保留元素的相應(yīng)信息。特別是當(dāng)需要處理像素操作時(shí),性能較好。這種類型的應(yīng)用基本都選擇Canvas技術(shù)。
實(shí)時(shí)數(shù)據(jù)
Canvas非常適合非交互的實(shí)時(shí)數(shù)據(jù)可視化。比如實(shí)時(shí)天氣數(shù)據(jù)。
圖表和圖形
使用SVG或者Canvas均可以繪制相關(guān)圖形和圖表,但是如果要強(qiáng)調(diào)可操作性,則SVG無疑是最好選擇,如果不需要交互性,強(qiáng)調(diào)性能,則Canvas比較適合。
二維游戲
因?yàn)橛螒虼蠖鄶?shù)是使用低級(jí)的API開發(fā),所以Canvas比較容易讓人接受。但是實(shí)際上,繪制游戲的場(chǎng)景的時(shí)候,Canvas需要重復(fù)繪制和定位形狀,而SVG是維護(hù)在內(nèi)存中,修改相關(guān)的屬性非常容易,所以SVG也是一種不錯(cuò)的選擇。
在小游戲板上使用幾個(gè)對(duì)象創(chuàng)建游戲時(shí),Canvas 和 SVG 之間在性能上幾乎沒有差異。但是,隨著創(chuàng)建更多的對(duì)象,Canvas 代碼將會(huì)增大許多。由于每次進(jìn)行游戲循環(huán)時(shí)都必須重新繪制 Canvas 對(duì)象,因此 Canvas 游戲的速度會(huì)減慢。
用戶界面設(shè)計(jì)
由于良好的交互性,無疑SVG更勝一籌。利用 SVG 的保留模式圖形顯示,你可以在正文的類似 HTML 的標(biāo)記中創(chuàng)建所有用戶界面詳細(xì)信息。因?yàn)槊總€(gè) SVG 元素和子元素都可以響應(yīng)單獨(dú)的事件,所以你可以非常輕松地創(chuàng)建復(fù)雜的用戶界面。而 Canvas 需要你按照更復(fù)雜的代碼順序來指定如何創(chuàng)建用戶界面的每個(gè)部分。你需要遵照的順序是:
•獲取上下文。
•開始繪制。
•指定每根線條和每個(gè)填充的顏色。
•定義形狀。
•完成繪制。
此外,Canvas 只能處理整個(gè)畫布的事件。如果有更復(fù)雜的用戶界面,則必須確定在畫布上單擊的位置的坐標(biāo)。SVG 可以單獨(dú)處理每個(gè)子元素的事件。

下面兩個(gè)例子分別說明了canvas與svg各自的技術(shù)優(yōu)勢(shì):

canvas的典型應(yīng)用如綠屏:http://samples.msdn.microsoft.com/workshop/samples/graphicsInHTML5/canvasgreenscreen.htm

效果圖如下:

打開頁面以后可以查看頁面源代碼。

這個(gè)應(yīng)用是從兩個(gè)視頻中讀寫像素到另一個(gè)視頻中,代碼使用兩個(gè)視頻、兩個(gè)畫布和一個(gè)最終畫布。一次捕捉視頻上的一幀,然后繪制到兩個(gè)單獨(dú)的畫布上,這樣允許讀回?cái)?shù)據(jù):

復(fù)制代碼
代碼如下:

ctxSource1.drawImage(video1, 0, 0, videoWidth, videoHeight);
ctxSource2.drawImage(video2, 0, 0, videoWidth, videoHeight);

因此,下一步是檢索每個(gè)繪制圖像的數(shù)據(jù),以便可以檢查每個(gè)單獨(dú)的像素:

復(fù)制代碼
代碼如下:

currentFrameSource1 = ctxSource1.getImageData(0, 0, videoWidth, videoHeight);
currentFrameSource2 = ctxSource2.getImageData(0, 0, videoWidth, videoHeight);

獲取后,代碼將瀏覽綠屏的像素?cái)?shù)組,搜索綠色像素,如果找到,代碼將用背景場(chǎng)景中的像素替換所有綠色像素。:

復(fù)制代碼
代碼如下:

for (var i = 0; i < n; i++)
{
// Grab the RBG for each pixel:
r = currentFrameSource1.data[i * 4 + 0];
g = currentFrameSource1.data[i * 4 + 1];
b = currentFrameSource1.data[i * 4 + 2];

// If this seems like a green pixel replace it:
if ( (r >= 0 && r <= 59) && (g >= 74 && g <= 144) && (b >= 0 && b <= 56) ) // Target green is (24, 109, 21), so look around those values.
{
pixelIndex = i * 4;
currentFrameSource1.data[pixelIndex] = currentFrameSource2.data[pixelIndex];
currentFrameSource1.data[pixelIndex + 1] = currentFrameSource2.data[pixelIndex + 1];
currentFrameSource1.data[pixelIndex + 2] = currentFrameSource2.data[pixelIndex + 2];
currentFrameSource1.data[pixelIndex + 3] = currentFrameSource2.data[pixelIndex + 3];
}
}

最后,像素?cái)?shù)組將寫入到目標(biāo)畫布中:

復(fù)制代碼
代碼如下:

ctxDest.putImageData(currentFrameSource1, 0, 0);

svg典型的應(yīng)用如用戶界面

復(fù)制代碼
代碼如下:

<!DOCTYPE html>
<html>

<head>
<script type="text/javascript">
// This function is called when the circle is clicked.
function clickMe() {
// Display the alert.
alert("You clicked the SVG UI element.");
}
</script>
</head>
<body>
<h1>
SVG User Interface
</h1>
<!-- Create the SVG pane. -->
<svg height="200" width="200">
<!-- Create the circle. -->
<circle cx="100" cy="100" r="50" fill="gold" id="uIElement" onclick="clickMe();"
/>
</svg>
<p>
Click on the gold circular user interface element.
</p>
</body>
</html>

這個(gè)例子雖然簡單,但是具備了用戶界面的一切特性,從這個(gè)例子中我們?cè)俅晤I(lǐng)略了svg便捷的交互性。

最后用一幅圖來總結(jié)一下每種應(yīng)用適合的技術(shù),圖中每個(gè)方塊代表一類應(yīng)用,越靠近某一端,說明采用該技術(shù)越具有的優(yōu)勢(shì):

 

實(shí)用參考:
腳本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
開發(fā)中心:https://developer.mozilla.org/en/SVG
熱門參考:http://www.chinasvg.com/
官方文檔:http://www.w3.org/TR/SVG11/

標(biāo)簽:陜西 黃石 南平 平頂山 公主嶺 山南 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5之SVG 2D入門13—svg對(duì)決canvas及長處和適用場(chǎng)景分析》,本文關(guān)鍵詞  HTML5,之,SVG,入門,svg,對(duì)決,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5之SVG 2D入門13—svg對(duì)決canvas及長處和適用場(chǎng)景分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5之SVG 2D入門13—svg對(duì)決canvas及長處和適用場(chǎng)景分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    色大18成网站www在线观看| 日本不卡高清视频一区| 日韩制服诱惑| 国产一区二区三区自拍| 精品少妇一区二区30p| 午夜视频在线观看一区二区三区| 日本福利在线观看| 欧美亚视频在线中文字幕免费| 国产三级做爰在线观看| 欧美成人欧美edvon| 久久久久久伊人| 伊人久久亚洲综合| 性欧美一区二区| 国产一区在线播放| 国产精品欧美激情在线观看| 国产精品主播| 国产精品一区二区人人爽| 国产欧美日韩成人| 亚洲男人天堂网| 精品国产31久久久久久| 国产精品免费小视频| 日本中文字幕不卡免费| 黄色一级片中国| 国产成人鲁色资源国产91色综| 午夜影院在线| 中老年在线免费视频| 久久亚洲精品中文字幕蜜潮电影| 成全电影大全在线观看| 蜜桃视频在线观看免费视频网站www| 欧美有码在线| 久久99精品国产91久久来源| 中文字幕av在线一区二区三区| 日韩中文字幕一区二区三区| 精品国产一区二区三区不卡蜜臂| 精品人妻一区二区三区浪潮在线| 国产专区欧美精品| 国产一级黄色片免费| 国产综合久久| 日韩123区| 最新av在线免费观看| 精品在线一区| 中文字幕国产一区二区| 成人亚洲欧美一区二区三区| 色视频免费网站| 久久久久综合一区二区三区| 欧美日韩一区二区不卡| 超碰电影在线播放| 黄色免费的网站| 性欧美在线视频| 岛国视频免费在线观看| 色妹子一区二区| 久本草在线中文字幕亚洲| 精品一区二区在线观看视频| 午夜啪啪免费视频| 亚洲午夜性刺激影院| 国产精品中文字幕日韩精品| 亚洲综合一二三| 亚洲综合在线中文字幕| 苍井空张开腿实干12次| 中文字幕亚洲第一| 被陌生人带去卫生间啪到腿软| 自拍偷拍欧美| 天堂…中文在线最新版在线| 中文字幕理伦片免费看| 亚洲妇熟xx妇色黄| 亚洲精品videossex少妇| 传媒视频在线| 久久躁日日躁aaaaxxxx| 欧美日韩视频免费看| 成人啪啪18免费游戏链接| 亚亚洲欧洲精品| 乐播av一区二区三区| 日韩av在线精品| 精品一区二区三区视频在线播放| ㊣最新国产の精品bt7086| 国产高清免费av| 精品亚洲成av人在线观看| 韩国视频理论视频久久| 亚洲一区中文日韩| 亚洲片国产一区一级在线观看| 高端美女服务在线视频播放| china中国猛gary| 性欧美xxx69hd高清| 欧美国产成人在线| 女女同性女同一区二区三区91| 国产精品果冻传媒潘| 久久久久久18| www国产一区| 一道本无吗dⅴd在线播放一区| 国产视频一区二区在线| 男人日女人的bb| 国产一区二区在线视频聊天| 中文字幕日本欧美| 欧美高清影院| 国产成人精品三级麻豆| 国产在线日韩精品| 激情综合闲人网| 亚洲国产精品第一区二区| 精品国产第一国产综合精品| 狠狠狠综合7777久夜色撩人| 丁香六月激情婷婷| 欧美日韩高清一区二区| 伊人久久视频| 中文字幕人成人乱码| 国产福利一区视频| 一区二区三区 日韩| 在线成人福利| 日本一欧美一欧美一亚洲视频| 亚洲系列中文字幕| 制服丝袜中文字幕一区| 奇米影视一区二区三区| 国产综合亚洲精品一区二| 日产午夜精品一线二线三线| 国产精品视频一区二区三区四区五区| 亚洲色成人www永久网站| 777xxx欧美| 国产一区二区三区国产精品| 日本韩国精品一区二区在线观看| 欧美日韩久久婷婷| 最新av电影| 99免费在线观看| 国产视频亚洲精品| 欧美国产综合视频| 欧美熟妇精品黑人巨大一二三区| 最全影音av资源中文字幕在线| 国产精品一区二区久久久久| 色婷婷综合缴情免费观看| 日韩欧美国产亚洲| 亚洲综合免费观看高清完整版| 亚洲va欧美va人人爽| 欧美日韩综合网| 成人h视频在线| 精品久久免费视频| 男女h黄动漫啪啪无遮挡软件| 国产寡妇树林野战在线播放| 日韩一区二区福利| www日韩精品| 亚洲一区二区三区四区中文字幕| 精品xxxxxbbbb欧美中文| 日韩欧美国产免费| 78精品国产综合久久香蕉| 黄色大片在线免费看| 亚洲成人天堂网| 在线免费观看中文字幕| 亚洲精品欧美一区二区三区| 日产国产高清一区二区三区| 久久久久综合| 激情欧美一区二区三区| 国产日韩欧美影视| 国产视频精品久久久| 97在线看免费观看视频在线观看| 国产91一区二区三区| 91女人18毛片水多国产| 成人中文字幕av| 秋霞午夜一区二区| 伊人久久久久久久久久久久久久| 97久久精品人人做人人爽| 国产福利片在线观看| 天堂网在线观看| 一个人免费播放在线视频看片| 亚洲av无码成人精品国产| 国产综合一区二区| 亚洲欧美小说国产图片| 国产精品久久久久7777| 国产精品∨欧美精品v日韩精品| 黄色小视频免费在线观看| 亚洲成av人影院在线观看网| 9i看片成人免费高清| 欧美精选一区二区三区| 欧美日韩导航| 欧美亚洲第一区| 国产久卡久卡久卡久卡视频精品| 亚洲最大成人在线视频| 国产无套粉嫩白浆内谢| 天天搞夜夜操| 国产乱人伦偷精品视频不卡| 国产日产一区二区三区| 国产情侣av自拍| 美女福利视频网| 国内精品自线一区二区三区视频| 99国产精品久久一区二区三区| 欧美精品18| 97精品久久久久中文字幕| 免费在线观看毛片网站| 中文字字幕在线中文乱码| 丁香花免费高清完整在线播放| 国产成人免费91av在线| 亚洲女人视频| 91成人噜噜噜在线播放| 亚洲成人av电影在线| 天天看片中文字幕| 国产精品成人一区二区不卡| 国产一区二区三区视频| 91久久精品国产性色| 久久久99精品久久| 中文字幕 亚洲视频| 黄色亚洲网站| 成人综合在线观看| 亚洲精品一区二区三区中文字幕| 一级黄色录像大片| 在线电影一区二区| a看欧美黄色女同性恋| 国产欧美日韩一区二区三区在线观看| 国产亚洲精品美女久久久久| 亚洲综合男人的天堂| 欧美成人合集magnet| 亚洲天堂一区二区三区四区| 九色资源网91| 亚洲综合欧美综合| 色伦专区97中文字幕| 日韩三级视频| 大胆人体一区| free性亚洲| 国产精品一区二区羞羞答答| 水莓100在线视频| 国产91精品网站| 欧洲一区二区日韩在线视频观看免费| 欧美日韩在线精品一区二区三区激情综| 国产精品视频麻豆| jizz亚洲| 国产精品久久波多野结衣| 成人交换视频| 国产 国语对白 露脸| 亚洲精品福利在线| 国产性色av一区二区| 欧美性大战久久久久| 国产欧美一区二| 黄色污污网站在线观看| 精品三级av| av影院在线免费观看| 国产免费一级视频| 国产又大又长又粗又黄| 欧美视频13p| www.色亚洲| 日本香蕉视频在线观看| 日本一区二区免费电影| 日本欧美一区二区| 国产又黄又粗又猛又爽的视频| 欧美一级免费在线观看| 男女黄床上色视频| mm131亚洲精品| 伊人久久亚洲综合| 日日夜夜精品视频免费观看| 日产精品久久久一区二区福利| 国产免费又粗又猛又爽| 伊人精品视频| 中文在线资源| 久久精品国产精品青草色艺| 欧美1区二区三区公司| 精品福利在线导航| 国产精品69精品一区二区三区| 中文字幕欧美在线观看| 久久精品99久久久久久久久| 亚洲视频国产视频| 亚洲区精品久久一区二区三区| 精品人妻人人做人人爽| 国产精品91一区| 久久一区亚洲| 国产精品一区二区日韩| 国外成人福利视频| 在线精品一区二区三区| 伊人网中文字幕| 第一中文字幕在线| 九九爱精品视频| 国产亚洲自拍偷拍| 国产一级二级在线| 欧美性极品xxxx做受| 成人欧美一区二区三区在线| 黑人巨大精品欧美一区二区免费| 国产精品高潮呻吟视频| 黄网站app在线观看大全免费视频| 911国产网站尤物在线观看| 欧美一区二区三区视频免费播放| 黄色永久免费网站| 久久91av| 国产91露脸中文字幕在线| 国产精品1区2区在线观看| 国产伦一区二区三区色一情| 免费观看黄色的网站| 欧美性老头oldtight| 一区二区久久久久| 国产原创视频在线观看| 在线激情网站| 亚洲人成人一区二区三区| 不卡视频一区二区三区| 97久久国产精品| 中文字幕日本最新乱码视频| 国产精品网站一区| 久久嫩草精品久久久精品| 国产精品视频一区麻豆| 久久精品无码一区二区三区| 国产伦一区二区三区色一情| 精品亚洲男同gayvideo网站| 日产欧产美韩系列久久99| 亚洲啪啪91| 国产精品入口麻豆九色| 免费日本黄色网址| 中文字幕五月天| chinese国产精品| 日韩免费网站| 午夜一级在线看亚洲| 欧美熟妇精品黑人巨大一二三区| 蜜桃视频无码区在线观看| 涩多多在线观看| 亚洲一区二区三区四区精品| 1区2区3区在线视频| 91嫩草在线视频| 亚洲第一区中文字幕| 中文字幕日产av一二三区| 欧洲亚洲免费视频| 伊人久久久久久久久久| 成年人视频免费在线观看| 麻豆视频免费网站| 久久精品三级视频| 久久久久久久久久久久久女国产乱| 欧美理论一区二区| 人妻熟女aⅴ一区二区三区汇编| 欧美videossexotv100| 亚洲自拍高清视频网站| 成人午夜一级| 精品免费在线观看| 欧美大人香蕉在线| 久久综合狠狠| 午夜精品福利在线观看| 欧美色欧美亚洲另类二区| 亚洲一二区在线观看| 欧美国产精品一区二区| 韩国av电影免费观看|