欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

HTML5之SVG 2D入門13—svg對決canvas及長處和適用場景分析_HTML5教程

編輯Tag賺U幣
教程Tag:canvasSVG2D添加

推薦:HTML中fieldset標簽概述及使用方法
之前HTML沒有好好學,導致以前看到控件組樣式感覺很新奇,fieldset> 標簽將表單內容的一部分打包,生成一組相關表單的字段,接下來對HTML中fieldset標簽的使用進行詳細解讀,感興趣的朋友可以了解下,或許對你有所幫助

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

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

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

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

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

下面兩個例子分別說明了canvas與svg各自的技術優勢:

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

效果圖如下:

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

這個應用是從兩個視頻中讀寫像素到另一個視頻中,代碼使用兩個視頻、兩個畫布和一個最終畫布。一次捕捉視頻上的一幀,然后繪制到兩個單獨的畫布上,這樣允許讀回數據:

復制代碼 代碼如下:m.ghpqjb.com

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

因此,下一步是檢索每個繪制圖像的數據,以便可以檢查每個單獨的像素:

復制代碼 代碼如下:m.ghpqjb.com

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

獲取后,代碼將瀏覽綠屏的像素數組,搜索綠色像素,如果找到,代碼將用背景場景中的像素替換所有綠色像素。:

復制代碼 代碼如下:m.ghpqjb.com

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];
}
}

最后,像素數組將寫入到目標畫布中:

復制代碼 代碼如下:m.ghpqjb.com

ctxDest.putImageData(currentFrameSource1, 0, 0);

svg典型的應用如用戶界面

復制代碼 代碼如下:m.ghpqjb.com

<!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>

這個例子雖然簡單,但是具備了用戶界面的一切特性,從這個例子中我們再次領略了svg便捷的交互性。

最后用一幅圖來總結一下每種應用適合的技術,圖中每個方塊代表一類應用,越靠近某一端,說明采用該技術越具有的優勢:

 

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


分享:html5 跨文檔消息傳輸示例探討
想實現跨文檔消息傳輸首先要對窗口對象的message事件進行監聽,然后使用window對象的postMessage()方法向其他窗口發送消息,接下來為大家詳細介紹下,感興趣的朋友可以參考下哈

來源:未知//所屬分類:HTML5教程/更新時間:2013-04-22
相關HTML5教程
视频一区日韩精品| 色综合99久久久无码国产精品| 国产福利免费视频| 日韩视频一区| 欧美吻胸吃奶大尺度电影| 成人免费福利视频| 在线天堂www在线国语对白| 成人黄色免费短视频| 国产综合久久久久影院| 亚洲精品videossex少妇| 色综合久久av| 国产无遮无挡120秒| 成人在线免费观看视频| 亚洲在线视频免费观看| 国产精品久久久久秋霞鲁丝 | 美女尤物国产一区| 欧美xxxx在线观看| 亚洲三区在线| 黄色大片网站在线观看| 天天天综合网| 在线观看日韩电影| 国产精品欧美久久| 久久嫩草捆绑紧缚| 国产麻豆一区二区三区精品视频| 夜夜嗨av一区二区三区网页| 国产精品久久久久久久天堂| 午夜视频在线观看国产| 欧美大片91| 国产精品美女久久久久久 | 亚洲在线免费视频| 美女被到爽高潮视频| 老牛精品亚洲成av人片| 亚洲欧美日韩国产一区二区三区 | 亚洲一区激情| 欧美tk—视频vk| a级黄色片网站| 中国a一片一级一片| 老鸭窝亚洲一区二区三区| 欧美大片国产精品| 精品日韩在线播放| 中文字幕有码视频| 日韩福利电影在线观看| 日韩国产欧美区| 黄页网站在线观看视频| 不卡的日韩av| 高清日韩电视剧大全免费| 另类视频在线观看| 手机版av在线| 婷婷久久综合九色综合99蜜桃| 久久久高清一区二区三区| 欧美一区深夜视频| 9.1成人看片| 蜜桃tv一区二区三区| 欧美日韩免费观看中文| 国产精品一级久久久| 国产一级在线播放| 日韩视频二区| 亚洲精品综合久久中文字幕| 欧美日韩中文在线视频| 日韩在线影院| 亚洲国产精品t66y| 国产精品中文字幕久久久| 中文字幕第二区| 欧美a级成人淫片免费看| 欧美日韩高清一区二区不卡| 亚洲一区bb| 一级做a爱片久久毛片| 精品无码三级在线观看视频 | 国产不卡的av| 成人午夜大片| 欧美视频在线观看免费| 日韩精品欧美专区| 亚洲最大成人在线视频| 国产一区欧美一区| 久久97精品久久久久久久不卡| 欧美成人精品一区二区综合免费| 六月丁香久久丫| 日韩欧美国产骚| 亚洲国产精品久久久久婷婷老年| 国产又粗又黄又爽| 国产电影一区在线| 91产国在线观看动作片喷水| 无码h肉动漫在线观看| 日韩在线视屏| 日韩欧美你懂的| 欧美二区在线视频| 国产精品99久久久久久董美香| 国产精品久久久久久久裸模| 91在线精品观看| 欧美一级片免费在线观看| 免费高清成人在线| 欧美国产日韩一区二区在线观看| 91黄色免费视频| 欧美在线电影| 欧美精品一区二| 日韩在线xxx| 久久av偷拍| 欧美性猛xxx| 一区二区视频在线免费| 色欲av永久无码精品无码蜜桃| 国产欧美日韩在线视频| 亚洲最大福利视频| aaa在线视频| 精品成人久久| 久久精品日韩一区二区三区| 91精品国产自产在线| 久久这里只有精品免费| 日本视频一区二区| 久久久亚洲天堂| 欧美另类69xxxx| 国产欧美日韩一级| 久久伊人免费视频| 伊人网在线视频观看| 国产精品红桃| 日韩中文第一页| 先锋资源av在线| 欧美高清一区| 色婷婷av一区二区三区在线观看 | 欧美性猛交xxxxxx富婆| 日韩a级黄色片| 88xx成人网| 精品久久久视频| 高清无码一区二区在线观看吞精| 精品久久在线| 日本韩国欧美三级| 欧美,日韩,国产在线| 欧美特黄不卡| 欧美人体做爰大胆视频| 欧美日韩在线免费播放| 欧美大片网址| 精品国产伦一区二区三区观看体验| 手机视频在线观看| 欧美一二区在线观看| 日韩毛片在线看| 制服丝袜在线第一页| 欧美a级片网站| 北条麻妃99精品青青久久| 国产 欧美 在线| 久久九九国产| 日本91av在线播放| 国产又粗又爽视频| 91在线精品一区二区| 国产一区在线观| 秋霞欧美在线观看| 亚洲成人综合在线| 国产69精品久久久久久久| 超碰精品在线| 亚洲变态欧美另类捆绑| 国产在线观看免费播放| 欧美午夜国产| 久久人91精品久久久久久不卡| 久久免费播放视频| 成人av在线电影| 精品亚洲第一| 国产88在线观看入口| 黑人巨大精品欧美一区二区一视频| 日本欧美视频在线观看| 欧美亚洲色图校园春色| 日韩成人久久久| 人妻熟女aⅴ一区二区三区汇编| 另类av一区二区| 国产精品高清在线观看| 中文无码av一区二区三区| 国产精品久久久久久亚洲毛片| 欧美日韩在线免费观看视频| 一区二区在线视频观看| 亚洲成人黄色网| 国产高清自拍视频| 日韩综合小视频| 成人h视频在线观看播放| a看欧美黄色女同性恋| 日韩一区二区不卡| 第一页在线视频| 国产欧美一级| 国产激情综合五月久久| ,一级淫片a看免费| 亚洲最色的网站| 欧美国产激情视频| 99精品在线观看| 欧美激情视频在线免费观看 欧美视频免费一 | 无码一区二区三区在线| 久久91精品久久久久久秒播| 亚洲影院色无极综合| 亚洲精品中文字幕| 欧美日韩精品电影| 波多野结衣一二三区| 日韩一区精品字幕| 91亚色免费| se01亚洲视频| 日韩欧美中文字幕制服| 欧美熟妇精品黑人巨大一二三区| 久久精品国产久精国产| 国产精品乱子乱xxxx| 日本肉肉一区| 欧美mv日韩mv国产| 在线观看免费黄色网址| 成人av免费在线观看| 亚洲国产日韩欧美| 久久精品论坛| 久久精品99久久香蕉国产色戒| 日韩 欧美 精品| 一区精品在线播放| aa免费在线观看| 国内成人在线| 91精品久久久久久久久久久久久久 | 日本sm残虐另类| 亚洲va电影大全| 香蕉视频亚洲一级| 亚洲国产成人精品女人久久久 | 精品日本一区二区三区| 久久麻豆视频| 国产丝袜一区视频在线观看| 欧美成人一二三区| 国产精品初高中害羞小美女文| 91精品91久久久中77777老牛| 午夜久久99| 国产精品久久99久久| 手机看片福利永久| 日韩欧美不卡一区| 开心激情五月网| 久久精品欧美日韩精品| 亚洲精品乱码久久久久久蜜桃91 | 另类ts人妖一区二区三区| 麻豆乱码国产一区二区三区 | 毛片av中文字幕一区二区| 麻豆久久久9性大片| 老司机精品视频在线播放| 欧美激情免费看| 精品女同一区二区三区| 777xxx欧美| 91原创国产| 青青草自拍偷拍| 久久久国产精品不卡| 亚洲人精品午夜射精日韩| 欧美精品黄色| 99在线影院| 57pao国产一区二区| 久久综合网hezyo| 91久久久久国产一区二区| 欧美日韩日本视频| 免费成人深夜天涯网站| 国产丝袜在线精品| 欧美国产日韩在线播放| 久久久国产亚洲精品| 欧洲国产精品| 国产探花在线精品| 国产成人涩涩涩视频在线观看| 桃花岛成人影院| 亚洲一二在线观看| 中文字幕777| 欧美精选一区二区| 久久久久久久久久网站| 亚洲一区二区三区在线播放| 欧美激情 亚洲| av激情亚洲男人天堂| 精品视频免费在线播放| 国产精品外国| 日本精品一区| 日韩免费一区| 91免费在线视频| 国产欧美三级电影| 欧美孕妇与黑人孕交| 日本另类视频| 久久亚洲精品成人| 亚洲精品第五页| 日韩av综合网站| 无码人妻黑人中文字幕| 欧美精品乱人伦久久久久久| 青青操国产视频| 精品美女久久久久久免费| 欧美精品久久一区二区| 日韩av片在线播放| 在线观看av不卡| 黑人狂躁日本娇小| 亚洲国产三级在线| 蜜桃无码一区二区三区| 亚洲少妇最新在线视频| 午夜剧场免费看| 国产欧美日韩在线| 能看毛片的网站| 久久毛片高清国产| 一级黄色片国产| 91免费在线播放| 羞羞的视频在线| 北岛玲一区二区三区四区| 无码日韩人妻精品久久蜜桃| 国产精品18久久久久久久久 | 日韩在线视频观看免费| 尤物tv国产一区| 99在线精品视频免费观看20| 日韩久久精品电影| 91theporn国产在线观看| 亚洲国产精品va| 一本到在线视频| 亚洲精品98久久久久久中文字幕| 中文字幕在线观看视频免费| 黄网动漫久久久| 三级影片在线观看| 欧美日韩亚洲精品一区二区三区| 中文字幕第二区| 都市激情亚洲色图| av激情在线观看| 欧美影院精品一区| 日本三级黄色大片| 欧美精品vⅰdeose4hd| 日韩精品1区2区| www.精品视频| 久久只精品国产| 三区视频在线观看| 91免费视频网址| 色男人天堂av| 国产欧美日韩精品一区| 欧美日韩一区二区区| 国产三区在线成人av| 亚洲高清无码久久| 亚洲欧美日韩电影| jizzjizz日本少妇| 在线观看视频一区| 中日韩精品视频在线观看| 精品久久久久久最新网址| 国产精品久久久久久久一区二区| 国产一区二区三区欧美| 在线日韩影院| 欧美一区三区三区高中清蜜桃| 国产精品毛片视频| 99re在线观看| 欧美一区国产在线| 国产a级片免费看| 精品视频网站| 亚洲精品一区二区三区蜜桃下载| 国产性生活视频| 精品视频www| 手机在线精品视频| 国模极品一区二区三区| 成人动态视频| 成人在线免费网站| 中文精品久久| 黄色免费高清视频| 国产真实精品久久二三区| 色戒在线免费观看| 国产精品人人做人人爽人人添| 亚洲日本精品视频| 日本国产一区二区| 黄色片中文字幕| 一本色道久久综合狠狠躁篇的优点 | 一区二区三区午夜探花| 亚洲国产欧美一区二区三区不卡| 日本不卡一区二区三区高清视频| 日韩精品无码一区二区三区免费| 久久久国产一区二区三区四区小说 | 久久理论片午夜琪琪电影网| 中文字幕日韩在线| 国产精华一区二区三区| 99在线精品免费视频九九视 | 日韩毛片在线| 国产精品永久免费观看| 一区二区三区四区日韩| 日韩国产小视频| 97久久精品人人澡人人爽| 内射中出日韩无国产剧情| 色欧美片视频在线观看| 国产精品传媒在线观看| xxxx欧美18另类的高清| 日本一区精品视频| 国产一区二区黄色| 国产日韩欧美一区在线| 国产精品wwwww| 亚洲人成亚洲人成在线观看图片| 毛片a片免费观看| 亚洲乱码一区av黑人高潮| 在线成人视屏| 91视频99| 久久久久99| 国产探花在线观看视频| 亚洲国产美国国产综合一区二区| 日韩精品久久久久久免费| 久久精品国产综合| 六月丁香久久丫| 亚洲精品高清国产一线久久| 国产成人亚洲综合a∨婷婷| 国产熟女高潮一区二区三区 | 久热精品在线观看| 亚洲午夜av久久乱码| 国产一区二区三区国产精品| 精品国产福利| 久久99精品国产.久久久久久| 91亚洲一线产区二线产区| 在线视频欧美区| 亚洲h视频在线观看| 国产精品久久久久高潮| 狠狠综合久久av一区二区老牛| 国产第一页视频| 亚洲精品久久嫩草网站秘色| 麻豆久久久久久久久久| 久久av在线播放| 日韩免费电影一区二区| 久久久久.com| 亚洲欧美一区二区三区不卡| 日韩欧美国产网站| www.狠狠干|