<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 48,comments - 156,trackbacks - 0

    一、<canvas>標簽

    Html5 引入了一個新的 <canvas> 標簽,這個標簽所代表的區域就好象一塊畫布,你的所有圖形繪制最后都要在這塊畫布上呈現。有了這個標簽,瀏覽器的圖形表現力被極大的提升,Flash 和 SilverLight 有沒有感到威脅呢?

    新聞鏈接:Google聲稱Chrome7瀏覽器將提速60倍

    <canvas>標簽的用法非常簡單,如下:

    <canvas id="tutorial" width="150" height="150" style="background-color:red;">
    你的瀏覽器不支持 Canvas 標簽
    </canvas>

    <canvas>標簽和普通的 HTML 標簽沒有多大的區別,你可以設置它的寬度和高度,可以通過 CSS 設置它的背景色、邊框樣式等等。你可以在 這里 找到關于 <canvas> 標簽的更多內容。

    標簽中間的內容是替換內容,如果用戶的瀏覽器不支持 <canvas> 標簽,這段內容就會被顯示出來;如果用戶的瀏覽器支持 <canvas> 標簽,則這段內容將被忽略。

    上面的 <canvas> 代碼顯示效果如下:

    你的瀏覽器不支持 Canvas 標簽

    如果你用的是IE瀏覽器,可能只能看到一個提示;如果你用的是谷歌瀏覽器或者火狐瀏覽器,你就可以看到一個紅色的方塊區域。

     

    二、渲染上下文 Rendering Context

    其實光有 <canvas> 標簽我們并不能作任何事情,玩過 Windows 編程的同學都知道,在 Windows 里面繪圖先要得到一個設備上下文 DC ,在 <canvas> 標簽上繪圖也需要先得到一個渲染上下文,我們的圖形并不是直接畫到屏幕上的,而是先畫到上下文(Context)上,然后再刷新到屏幕上面的。

    題外話: 為什么要整出一個“上下文”這么復雜的概念呢?因為有了上下文對象,我們就可以讓各種不同的圖形設備在我們眼里面看起都是一個樣,我們只需要專注于繪圖,其他的工作就讓操作系統和瀏覽器去操心吧,說白了就是把各式各樣的具體變成統一的抽象,從而減輕我們的負擔。

    獲取上下文非常簡單,只需要如下兩行代碼:

    var canvas = document.getElementById('tutorial');
    var ctx = canvas.getContext('2d');

    首先獲取 canvas 對象,然后調用 canvas 對象的 getContext 方法,這個方法目前只能傳入參數 "2d",不久的將來他可能會支持參數 "3d",你一定明白那意味著什么,讓我們期待吧。

    getContext 方法返回一個 CanvasRenderingContext2D 對象 ,即渲染上下文對象,你可以在 這里 找到關于它的更多內容,都是一些繪圖方法。

     

    三、瀏覽器支持

     除了在那些不支持的瀏覽器上顯示替用內容之外,我們還可以通過腳本的方式來檢查瀏覽器是否支持 canvas ,方法很簡單,判斷 getContext 函數是否存在即可,代碼如下:

    var canvas = document.getElementById('tutorial'); 
    if (canvas.getContext){ 
        alert(
    "支持 <canvas> 標簽"); 
    else { 
        alert(
    "不支持 <canvas> 標簽"); 
    }

     

    四、一個小例子

    下面將用 HTML5 的繪圖功能演示一個上下移動的線條的例子, 具體的代碼將在后續內容中給出

    你的瀏覽器不支持 <canvas>標簽,請使用 Chrome 瀏覽器 或者 FireFox 瀏覽器

     

    版權聲明:本文為原創文章,作者保留所有權利!歡迎轉載,轉載請注明作者左洸和出處博客園

    //==========================================

    posted on 2010-09-17 23:45 左洸 閱讀(2919) 評論(2)  編輯  收藏 所屬分類: HTML5

    FeedBack:
    # re: HTML5邊玩邊學(1):畫布[未登錄]
    2010-10-08 16:36 | aaa
    怎么越點開始越快,還停不了  回復  更多評論
      
    # re: HTML5邊玩邊學(1):畫布
    2010-10-11 17:04 | Tkk
    @aaa
    因為你點一次就啟動一個setTimeout, 使它上下的速度加大了  回復  更多評論
      
    主站蜘蛛池模板: 国产亚洲情侣一区二区无码AV| 国产嫩草影院精品免费网址| 久久精品国产亚洲综合色| 亚洲日韩在线观看免费视频| 亚洲AV伊人久久青青草原| 特黄aa级毛片免费视频播放| 国产网站免费观看| 国产精品亚洲精品久久精品 | 天天摸夜夜摸成人免费视频| 亚洲av日韩av无码av| 国产免费AV片在线播放唯爱网| 亚洲AV无码乱码在线观看代蜜桃 | 2022久久国产精品免费热麻豆| 亚洲男人电影天堂| 色窝窝免费一区二区三区| 亚洲综合无码无在线观看| 日韩免费一级毛片| 日韩久久无码免费毛片软件| 色噜噜亚洲精品中文字幕 | 黄色成人网站免费无码av| 亚洲欧洲无码一区二区三区| 免费国产小视频在线观看| 一级一级毛片免费播放| 亚洲色大成网站www永久一区 | 国产成人免费午夜在线观看| 亚洲va久久久久| www亚洲一级视频com| 在线免费观看伊人三级电影| 亚洲男人都懂得羞羞网站| 日韩国产免费一区二区三区| 亚洲a∨无码精品色午夜| 亚洲精品国产精品乱码在线观看| 在线观看免费av网站| 亚洲AV日韩AV永久无码色欲| 国产偷国产偷亚洲清高动态图| 在线日本高清免费不卡| 小说专区亚洲春色校园| 亚洲AV无码成人网站久久精品大| 毛片免费全部免费观看| 三年片免费高清版| 亚洲色一区二区三区四区|