婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5 Canvas入門學習教程

HTML5 Canvas入門學習教程

熱門標簽:申請400電話流程簡介 呼和浩特外呼電銷系統排名 pageadm實現地圖標注 外呼線穩定線路 地圖標注位置能賺錢嗎 邢臺縣地圖標注app 阜陽企業外呼系統 外呼系統電話怎么投訴 南通數據外呼系統推廣

HTML5

究竟什么是HTML5?在W3C HTML5的常見問題中,關于HTML5是這樣說明的:HTML5是一個開放的平臺下開發的免費許可條款。
具體來說,對這句話有以下兩種理解:

指一組共同構成了未來開放式網絡平臺的技術。這些技術包括HTML5規范、CSS3、SVG、MATHML、地理位置、XmlHttpRequest、Context 2D、Web字體以及其他技術。這一套技術的邊界是非正式的,且隨時間變化的。
指HTML5規范,當然也是開放式網絡平臺的一部分。


Canvas的瀏覽器支持
以下我列出了最流行的Web瀏覽器以及它們開始支持Canvas元素的最小版本號。

Safari Firefox IE Chrome Opear iOS Safari Android Brower
3.2 3.5 9 9 10.6 3.2 2.1


這里我推薦使用Chrome。

簡單的HTML5頁面

XML/HTML Code復制內容到剪貼板
  1. <!doctype html>  
  2.   
  3. <html lang="zh">  
  4.   
  5. <head>  
  6.     <meta charset="UTF-8">  
  7.     <title>基礎的HTML5頁面</title>  
  8. </head>  
  9.   
  10. <body> Hello Airing! </body>  
  11.   
  12. </html>  

演示運行結果如下:

HTML是由一個個形如尖括號<>的標簽元素組成,這些標簽通常是成對出現,并且標簽之間只能嵌套不能交叉。
擴展:
成對出現的叫做閉合標簽,單個出現的叫做單標簽。不管怎樣都是閉合的(單標簽可以不閉合,但是在XHTML中嚴格要求了閉合)。閉合標簽又分為開始標簽和結束標簽,如<body>是開始標簽,</body>是結束標簽。自標簽如<input/> <br/>等。
關于更多的標簽,建議大家自行了解一下。推薦W3school平臺自學。
這里我們著重講一下上述代碼中出現的標簽。

XML/HTML Code復制內容到剪貼板
  1. <!doctype html>  

這個標簽說明 Web 瀏覽器將在標準模式下呈現頁面。根據 W3C 定義的 HTML5 規范,這是 HTML5 文檔所必需的。這個標簽簡化了長期以來在不同的瀏覽器呈現 HTML 頁面時出現的奇怪差異。它通常為文檔中的第一行。

XML/HTML Code復制內容到剪貼板
  1. <html lang="en">  

這是包含語言說明的<html>標簽,例如,"en"為英語,"zh"為中文。

XML/HTML Code復制內容到剪貼板
  1. <head>...</head>   

這2個標記符分別表示頭部信息的開始和結尾。頭部中包含的標記是頁面的標題、序言、說明等內容,它本身不作為內容來顯示,但影響網頁顯示的效果。頭部中最常用的標記符是<title>標記符和<meta>標記符。

以下表格列出了HTML head 元素下的所有標簽和功能:

標簽 描述
<head> 定義了文檔的信息
<title> 定義了文檔的標題
<base> 定義了頁面鏈接標簽的默認鏈接地址
<link> 定義了一個文檔和外部資源之間的關系
<meta> 定義了HTML文檔中的元數據
<script> 定義了客戶端的腳本文件
<style> 定義了HTML文檔的樣式文件

XML/HTML Code復制內容到剪貼板
  1. <meta charset="UTF-8">  

這個標簽說明 Web 瀏覽器使用的字符編碼模式,這里通常設置為UTF-8。如果沒有需要特別設置的沒必要改變它。這也是 HTML5 頁面需要的元素。

XML/HTML Code復制內容到剪貼板
  1. <title>...</title>   

這個標簽說明在瀏覽器窗口展示的 HTML 的標題。這是一個很重要的標記,它是搜索引擎用來在 HTML 頁面上收錄內容的主要信息之一。

XML/HTML Code復制內容到剪貼板
  1. <body>...</body>   

網頁中顯示的實際內容均包含在這2個<body>之間。
綜上,HTML5網頁是由第一行的<!doctype html>與<html>部分組成,而<html>主要分為兩部分——由<head>標簽規定的頭部部分,和由<body>規定的主體部分。
這樣,我們就把最簡單的HTML網頁的基本結構給捋出來了。

添加一個Canvas
在HTML中添加Canvas非常簡單,只需要在HTML的<body>部分,添加上<canvas>標簽就可以了!可以參考下面的代碼。

XML/HTML Code復制內容到剪貼板
  1. <!doctype html><html lang="zh"><head><meta charset="UTF-8"><title>基礎的HTML5頁面</title> </head>  
  2. <body>  
  3.     <canvas id="canvas">  
  4.     你的瀏覽器居然不支持Canvas?!趕快換一個吧!!   
  5.     </canvas></body>    
  6. </html>  

由于結果頁面是一個完完全全的空白頁面,所以這里我就不貼圖了。大家可能會很好奇,為什么會是一個空白呢?(廢話,我還沒來得及畫畫呢!)Canvas的本意是畫布,也就是畫布的意思(廢話...),畫布在HTML5中是透明的,是不可見的。
那<canvas>標簽中的那段文本是什么意思呢?那是一旦瀏覽器執行HTML頁面時不支持Canvas,就會顯示這段文字,換言之,只要你的瀏覽器支持Canvas,頁面上就不會顯示這個文本。
那<canvas>中的id是什么意思?id是標簽的屬性之一,在JavaScript代碼中用來指定特定的<canvas>的名字,就像一個人的身份證號碼一樣,是唯一的。
為了更清楚的展示Canvas,以及方便之后的演示,我稍微修改了一下代碼,之后的繪圖都會在這個Canvas上繪制。

XML/HTML Code復制內容到剪貼板
  1. <!doctype html>  
  2. <html lang="zh">  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title>基礎的Canvas</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <div id="canvas-warp">  
  10.     <canvas id="canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;" width="800" height="600">  
  11.     你的瀏覽器居然不支持Canvas?!趕快換一個吧!!   
  12.     </canvas>  
  13. </div>  
  14. </body>    
  15. </html>  

運行結果:

對以上代碼有幾點說明:

1.添加了<div>標簽,將<canvas>包裹其中,個人習慣,暫時并沒有什么卵用。
2.給<canvas>標簽指定了width和height屬性,規定了它的寬和高。
3.給<canvas>標簽添加了一個內聯樣式,使其變為塊級元素并居中顯示。

關于CSS的內容這里不做說明,畢竟這不是本課程的主角,若做擴展會花費大量篇幅。

引用Canvas元素


文檔對象模型(DOM)
文檔對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展標志語言的標準編程接口。Document Object Model的歷史可以追溯至1990年代后期微軟與Netscape的“瀏覽器大戰”,雙方為了在JavaScript與JScript一決生死,于是大規模的賦予瀏覽器強大的功能。微軟在網頁技術上加入了不少專屬事物,計有VBScript、ActiveX、以及微軟自家的DHTML格式等,使不少網頁使用非微軟平臺及瀏覽器無法正常顯示。DOM即是當時蘊釀出來的杰作。
文檔對象模型代表了在 HTML 頁面上的所有對象。它是語言中立且平臺中立的。它允許頁面的內容和樣式被 Web 瀏覽器渲染之后再次更新。用戶可以通過 JavaScript 訪問 DOM。
在開始使用<canvas>前,首先需要了解兩個特定的 DOM 對象:window 和 document。

window 對象是 DOM 的最高一級,需要對這個對象進行檢測來確保開始使用 Canvas 應用程序之前,已經加載了所有的資源和代碼。
document 對象包含所有在 HTML 頁面上的 HTML 標簽。需要對這個對象進行檢索來找 出用 JavaScript 操縱<canvas>的實例。

JavaScript放置位置
使用 JavaScript 為 Canvas 編程會產生一個問題:在創建的頁面中,從哪里啟動 JavaScript程序?
把 JavaScript 放進 HTML 頁面的<head>標簽中是個不錯的主意,這樣做的好處是很容易找到它,也是上一章我們介紹<head>中所提到的。但是,把 JavaScript 程序放在這里就意味著整個 HTML 頁面要加載完 JavaScrpit 才能配合 HTML 運行,這段 JavaScript 代碼也會在整個頁面加載前就開始執行了。結果就是,運行 JavaScript 程序之前必須檢查 HTML 頁面是否已經加載完畢。
最近有一個趨勢是將 JavaScript 放在 HTML 文檔結尾處的</body>標簽之前,這樣就可以確保在 JavaScript 運行時整個頁面已經加載完畢。然而,由于在運行<canvas>程序前需要使用 JavaScript 測試頁面是否加載,因此最好還是將 JavaScript 放在<head>中。
不過本人不走尋常路(笑),所以之后的案例,還是按照自己的編碼風格將JavaScript代碼放在了<body>的尾部。當然,如果JavaScript代碼有些多,就推薦使用加載外部 .js 文件的方式。代碼大致如下:

JavaScript Code復制內容到剪貼板
  1. <script type="text/javascript" src="bootstarp.js"></script>  

在實際項目開發中,都是將HTML、CSS、JS三者完全分離的。不過用于案例演示代碼略少,所以大多沒有使用加載外部 .js 文件的方式。


獲取canvas對象
獲取canvas對象其實就是一句話的事情。

JavaScript Code復制內容到剪貼板
  1. var canvas = document.getElementById("canvas");  

var用于變量定義,由于JS是弱類型語言,所以定義啥變量都用var。跟在var之后的canvas是變量。使用document對象的getElementById()的方法,通過id獲取對象。之前我們為<canvas>標簽賦予了一個id,名叫canvas,所以該句話最后一個canvas是指<canvas>的id——canvas。(是不是有點繞,需要自己多讀幾遍捋清楚。)
獲得畫筆(2D環境)
畫畫首先需要啥?畫筆啊。獲取canvas畫筆也是一句話的事情,就是直接使用剛才獲得的canvas對象,調用它的getContext("2d")方法,即可。

JavaScript Code復制內容到剪貼板
  1. var context = canvas.getContext("2d");  

這里的context便是畫筆了。
在其他教程中都是使用2D環境這個專有術語,我覺得畫筆更加形象。靈感引自Java中Graphics類的g畫筆,原理與之相同。


總結
準備工作只有三步:

1.布置畫布:通過添加<canvas>標簽,添加canvas元素
2.獲取畫布:通過<canvas>標簽的id,獲得canvas對象
3.獲得畫筆:通過canvas對象的getContext("2d")方法,獲得2D環境

對應的代碼也就是三句話:

JavaScript Code復制內容到剪貼板
  1. <canvas id=“canvas”></canvas>   
  2. var canvas = document.getElementById("canvas");   
  3. var context = canvas.getContext("2d");  

完整代碼如下。

JavaScript Code復制內容到剪貼板
  1. <!doctype html>   
  2. <html lang="zh">   
  3. <head>   
  4.     <meta charset="UTF-8">   
  5.     <title>基礎的Canvas</title>   
  6. </head>   
  7.   
  8. <body>   
  9. <div id="canvas-warp">   
  10.     <canvas id="canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;" width="800" height="600">   
  11.         你的瀏覽器居然不支持Canvas?!趕快換一個吧!!   
  12.     </canvas>   
  13. </div>   
  14.   
  15. <script>   
  16. window.onload = function(){   
  17.     var canvas = document.getElementById("canvas");   
  18.     var context = canvas.getContext("2d");   
  19. }   
  20. </script>   
  21. </body>   
  22.   
  23. </html>   
  24.   

注意幾點:

1.JavaScript代碼需要包裹在<script>標簽中。

2.window.onload = function(){}加載頁面后就要立即執行,表示網頁加載完執行后面的那個function函數體的內容。

至此,畫布和畫筆已經準備完畢,接下來就讓我們使用畫筆(context對象)繪制出高逼格的圖像吧!覺醒吧!藝術家之魂!

標簽:楊凌 內蒙古 辛集 鶴崗 德州 蚌埠 撫順 黃山

巨人網絡通訊聲明:本文標題《HTML5 Canvas入門學習教程》,本文關鍵詞  HTML5,Canvas,入門,學習教程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5 Canvas入門學習教程》相關的同類信息!
  • 本頁收集關于HTML5 Canvas入門學習教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    人妖欧美一区二区| 色哟哟国产精品| 欧美一级片在线看| 精品一二线国产| 亚洲色欲色欲www在线观看| 欧美日韩一区 二区 三区 久久精品| 奇米色777欧美一区二区| 日韩av电影免费观看高清完整版| 国产精品网站一区| 欧美第一区第二区| 精品视频在线免费观看| 91久久一区二区| 成人高清在线视频| 久久超碰97人人做人人爱| 亚洲一区二区三区中文字幕在线| 久久久精品黄色| 777色狠狠一区二区三区| 99久久精品国产毛片| 国产一二三精品| 免费高清不卡av| 国产黄色精品网站| 国内精品久久久久影院色| 日韩高清不卡一区二区三区| 日本在线不卡视频| 国产·精品毛片| 成人一区二区三区中文字幕| 国产在线精品一区二区三区不卡| 大白屁股一区二区视频| 欧美亚洲丝袜传媒另类| 97精品国产97久久久久久久久久久久| 91美女在线观看| 色激情天天射综合网| 日韩一级免费观看| 欧美一区二区久久久| 中文av字幕一区| 日韩精品乱码av一区二区| 日本成人在线不卡视频| 成人爱爱电影网址| 欧美成人在线直播| 精品国产91洋老外米糕| 久久色成人在线| 久久久精品免费免费| 亚洲最大成人综合| 日韩电影在线免费观看| 91色九色蝌蚪| 国产三级三级三级精品8ⅰ区| 欧美日韩精品一区二区三区蜜桃| 欧美影院一区二区| 国产日韩欧美精品在线| 日韩在线a电影| 91极品美女在线| 久久久久久久久久久久久久久99| 视频一区免费在线观看| 91在线看国产| 中文字幕一区二区三区在线播放| 亚洲激情五月婷婷| 免费在线成人网| 欧美日韩日日骚| 综合久久国产九一剧情麻豆| 国产高清在线精品| 亚洲精品一区二区三区福利| 日韩中文字幕一区二区三区| 91成人在线精品| 亚洲欧美怡红院| 一本色道久久综合精品竹菊| 亚洲国产精品ⅴa在线观看| 一区二区三区av电影| av一本久道久久综合久久鬼色| 欧美日韩综合不卡| 一区二区三区 在线观看视频 | 91视频一区二区三区| 国产欧美日韩麻豆91| 国产成人日日夜夜| 国产精品亲子伦对白| 成人禁用看黄a在线| 最新高清无码专区| 色成年激情久久综合| 亚洲第一主播视频| 国产成人免费视频网站高清观看视频| 制服.丝袜.亚洲.另类.中文| 日韩电影一区二区三区四区| 日韩一卡二卡三卡四卡| 日韩电影在线免费观看| 日韩免费在线观看| 国产成人综合自拍| 国产精品美女久久久久高潮| 99国产一区二区三精品乱码| 亚洲综合视频在线观看| 欧美日韩免费一区二区三区视频| 免费看日韩精品| 国产色婷婷亚洲99精品小说| 97se亚洲国产综合自在线不卡| 一区二区三区色| 精品国产一区二区三区四区四 | 国产欧美一区二区精品婷婷| 成人动漫中文字幕| 亚洲综合小说图片| 欧美精品一区二区三区很污很色的 | 久久尤物电影视频在线观看| 成人性生交大片| 午夜不卡av免费| 欧美日韩精品一二三区| 久久成人综合网| 中文字幕亚洲电影| 欧美一区二区黄| 成人av网在线| 日本三级韩国三级欧美三级| 国产精品免费aⅴ片在线观看| 欧美视频在线播放| 国产乱子轮精品视频| 欧美一区二区免费视频| av色综合久久天堂av综合| 日韩在线播放一区二区| 国产精品大尺度| eeuss鲁片一区二区三区在线看| 天天做天天摸天天爽国产一区| 久久久午夜精品理论片中文字幕| 91国产视频在线观看| 国产在线麻豆精品观看| 亚洲一区在线播放| 中文字幕一区二区在线观看| 精品国产免费一区二区三区香蕉| 在线观看一区二区精品视频| 五月激情六月综合| 亚洲男女毛片无遮挡| 欧洲激情一区二区| 国产高清久久久久| 蜜桃久久久久久| 国产欧美日韩视频在线观看| 3d动漫精品啪啪1区2区免费| 色综合天天综合狠狠| 午夜精品久久久久久久蜜桃app| 国产精品视频yy9299一区| 精品乱人伦小说| 欧美一区二区三区视频| 欧美唯美清纯偷拍| 欧美午夜一区二区三区| 色婷婷综合激情| 99久久精品99国产精品| 成人午夜视频在线观看| 粉嫩欧美一区二区三区高清影视| 国产综合一区二区| 国产精品一区二区果冻传媒| 久久精品国产色蜜蜜麻豆| 免费观看一级特黄欧美大片| 亚洲风情在线资源站| 久久精品亚洲精品国产欧美| 日韩一区二区免费在线电影| 欧美一级视频精品观看| 91精品国产综合久久精品麻豆| 欧美日韩中文国产| 7777精品伊人久久久大香线蕉完整版| 欧美日韩国产天堂| 91精品国产综合久久久蜜臀粉嫩| 91麻豆精品国产91久久久久久 | 国产调教视频一区| 国产日韩精品一区| 国产精品国产三级国产普通话蜜臀 | 日韩三级免费观看| 精品国产一区二区三区不卡| 精品日韩av一区二区| 国产午夜精品福利| ...中文天堂在线一区| 亚洲一区二区四区蜜桃| 奇米精品一区二区三区四区| 黄色小说综合网站| 成人午夜视频在线| 欧美日韩免费一区二区三区视频| 日韩视频免费直播| 国产精品久久久久久久午夜片| 亚洲美女在线国产| 美女视频黄免费的久久| 成人性生交大片免费看在线播放 | 久久精品国产精品青草| 国产精品影视在线| 欧美影院精品一区| 久久婷婷色综合| 亚洲一区在线观看免费 | 欧美巨大另类极品videosbest | 亚洲午夜精品网| 久久国产精品第一页| 波多野洁衣一区| 日韩一卡二卡三卡| 亚洲视频图片小说| 久久疯狂做爰流白浆xx| 99精品欧美一区| 制服.丝袜.亚洲.另类.中文| 国产精品私人影院| 久久精品久久99精品久久| 色综合久久天天| 国产日韩欧美激情| 美女免费视频一区| 在线观看区一区二| 久久久久国产精品人| 日韩av一区二| 欧美在线观看一区二区| 国产精品三级久久久久三级| 日本午夜一本久久久综合| 日本久久电影网| 中文欧美字幕免费|