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

主頁 > 知識庫 > html5 canvas-1.canvas介紹(hello canvas)

html5 canvas-1.canvas介紹(hello canvas)

熱門標簽:平頂山電子地圖標注怎么修改 標準智能外呼系統 搜狗星級酒店地圖標注 地圖標注自己去過的地方 電銷機器人視頻 高德地圖標注錯誤怎么修改 洛陽市伊川縣地圖標注中心官網 會聲會影怎樣做地圖標注效果 江蘇高頻外呼系統線路
從今天開始,我們將開始一個關于html5 canvas的系列課程。這個系列是我讀《HTML5 Canvas:Native Interactivity and Animation for the Web》后的總結,有興趣的朋友可以去下載英文原版書籍閱讀。這本書通過介紹canvas游戲開發的方式,向我們展現canvas強大的功能,我覺得相當不錯,通過閱讀這本書我學到了canvas很多的知識。其實canvas本身的api并不多,關鍵是活學活用,學會對api的組合使用制作出令人難以置信的效果。而這本書就是你學習canvas最好的選擇,只可惜他暫時還沒有中文版,英文不好的朋友只有再等等了。

大家都知道,目前并不是所有的瀏覽器中支持html5,就算是支持html5的瀏覽器,也不見得支持html5所有的新特性。所以大家要選擇一款比較新的瀏覽器作為自己的調試環境,建議大家使用firefox(開發者的最愛)或者是chrome瀏覽器,我所有的例子都是基于firefox開發的。

html5相關的基礎知識這里就不做介紹了,網上有很多關于html5的教程,自行學習吧。學習html5需要大家有比較好的javascript的基礎,大家可以去湯姆大叔的博客進行學習:http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html。其實他的這個系列課程還是有相當難度的,50多篇全學好你應該算是js專家了。
現在我們正式開始我們的canvas課程,第一個例子:“hello canvas”。
首先需要在body中添加canvas標簽,如下

復制代碼
代碼如下:

<canvas id="canvasOne" width="500" height="300">
Your browser does not support HTML5 Canvas.
</canvas>

canvas中的text部分將會在瀏覽器不支持canvas對象時顯示。
定義了canvas標簽,當我們需要通過js對他進行操作的時候,通過getElementById就可以實現。
var theCanvas = document.getElementById("canvasOne");我們現在已經習慣使用jquery來開發任務,那么使用jquery如何獲取canvas對象呢?
var canvas = $('#canvasOne').get(0);或var canvas = $('#canvasOne')[0];不知道大家注意到get(0)和[0]沒有,如果沒有使用get()方法或者[]下標的話,你的js代碼將不能正常對canvas進行操作。因為$('#canvasOne')獲取到的是一個jquery對象,而我們實際要操作的是一個html dom對象。這里有存在一個jquery對象轉變成dom對象的問題,通過get()或者下標的方式就完成了這個轉換。如果需要把一個dom對象轉換成jquery對象,可以使用$()方法實現。不清楚的朋友只有自己去百度了,這里不做深究。
為了代碼的健壯性,我們需要判斷你的瀏覽器是否支持canvas對象,可以通過下面代碼實現。

復制代碼
代碼如下:

if (!theCanvas || !theCanvas.getContext) {
return;
}

不過推薦大家使用modernizr.js庫完成這一工作,這是一個很通過的html5 js庫,提供了很多有用的方法

復制代碼
代碼如下:

function canvasSupport () {
return Modernizr.canvas;
}

canvas支持2d渲染,通過如下代碼實現
var context = theCanvas.getContext("2d");
下面我們就可以通過context對象在canvas上繪制圖像了。

復制代碼
代碼如下:

//設置區域顏色
context.fillStyle = "#ffffaa";
//繪制區域
context.fillRect(0, 0, 500, 300);
//設置字體
context.font = "20px _sans";
//設置垂直對齊方式
context.textBaseline = "top";
//繪制文字
context.fillText ("Hello World!", 195, 80);
//設置邊框顏色
context.strokeStyle = "#000000";
//繪制邊框
context.strokeRect(5, 5, 490, 290);

下面介紹下圖片的繪制。由于圖片的異步下載的,為了保證你用canvas繪制一個圖片時,該圖片已經下載完畢,我們使用下面的方式:

復制代碼
代碼如下:

var helloWorldImage = new Image();
helloWorldImage.src = "helloworld.gif";
helloWorldImage.onload = function () {
context.drawImage(helloWorldImage, 160, 130);
}

當圖片下面完畢時,會觸發onload事件,這里再使用context對象繪制圖片。
大家下載demo看完整代碼,demo下載地址:html5canvas.helloworld.zip

標簽:廣西 常德 廣東 果洛 阿克蘇 蚌埠 松原 鄂爾多斯

巨人網絡通訊聲明:本文標題《html5 canvas-1.canvas介紹(hello canvas)》,本文關鍵詞  html5,canvas-1.canvas,介紹,hello,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5 canvas-1.canvas介紹(hello canvas)》相關的同類信息!
  • 本頁收集關于html5 canvas-1.canvas介紹(hello canvas)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 凭祥市| 鄂温| 新干县| 永安市| 南投市| 平泉县| 呈贡县| 安岳县| 平谷区| 英超| 阜南县| 镇江市| 陇西县| 黔江区| 北京市| 渝中区| 洛阳市| 天津市| 庆城县| 黎城县| 台州市| 肇州县| 宜川县| 保德县| 长宁区| 哈巴河县| 贡山| 武乡县| 化州市| 星子县| 闽侯县| 巴彦县| 徐闻县| 麻栗坡县| 汉阴县| 乾安县| 民和| 安徽省| 连州市| 高邑县| 泊头市|