HTML5邊玩邊學(1) 畫布

2021-09-06 01:22:50 字數 1827 閱讀 9452

一、標籤

html5 引入了乙個新的 標籤,這個標籤所代表的區域就好象一塊畫布,你的所有圖形繪製最後都要在這塊畫布上呈現。有了這個標籤,瀏覽器的圖形表現力被極大的提公升,flash 和 silverlight 有沒有感到威脅呢?

google聲稱chrome7瀏覽器將提速60倍

標籤的用法非常簡單,如下:

<

canvas 

id="tutorial"

width

="150"

height

="150"

style

="background-color:red;"

>

你的瀏覽器不支援 canvas 標籤

canvas

>

標籤和普通的 html 標籤沒有多大的區別,你可以設定它的寬度和高度,可以通過 css 設定它的背景色、邊框樣式等等。你可以在這裡標籤中間的內容是替換內容,如果使用者的瀏覽器不支援 標籤,這段內容就會被顯示出來;如果使用者的瀏覽器支援 標籤,則這段內容將被忽略。

上面的 **顯示效果如下:

你的瀏覽器不支援 canvas 標籤

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

二、渲染上下文 rendering context

其實光有 標籤我們並不能作任何事情,玩過 windows 程式設計的同學都知道,在 windows 裡面繪圖先要得到乙個裝置上下文 dc ,在 標籤上繪圖也需要先得到乙個渲染上下文,我們的圖形並不是直接畫到螢幕上的,而是先畫到上下文(context)上,然後再重新整理到螢幕上面的。

題外話: 為什麼要整出乙個「上下文」這麼複雜的概念呢?因為有了上下文物件,我們就可以讓各種不同的圖形裝置在我們眼裡面看起都是乙個樣,我們只需要專注於繪圖,其他的工作就讓作業系統和瀏覽器去操心吧,說白了就是把各式各樣的具體變成統一的抽象,從而減輕我們的負擔。

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

varcanvas 

=document.getelementbyid(

'tutorial');

varctx 

=canvas.getcontext('2d

');

首先獲取 canvas 物件,然後呼叫 canvas 物件的 getcontext 方法,這個方法目前只能傳入引數 "2d",不久的將來他可能會支援引數 "3d",你一定明白那意味著什麼,讓我們期待吧。

getcontext 方法返回乙個 canvasrenderingcontext2d 物件 ,即渲染上下文物件,你可以在這裡三、瀏覽器支援

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

varcanvas 

=document.getelementbyid(

'tutorial

'); 

if(canvas.getcontext) 

else

四、乙個小例子

下面將用 html5 的繪圖功能演示乙個上下移動的線條的例子, 具體的**將在後續內容中給出

你的瀏覽器不支援 標籤,請使用 chrome 瀏覽器 或者 firefox 瀏覽器

和出處

//****************************************==

HTML5邊玩邊學(1) 畫布

一 標籤 html5 引入了乙個新的 標籤,這個標籤所代表的區域就好象一塊畫布,你的所有圖形繪製最後都要在這塊畫布上呈現。有了這個標籤,瀏覽器的圖形表現力被極大的提公升,flash 和 silverlight 有沒有感到威脅呢?標籤的用法非常簡單,如下 code highlighting produ...

HTML5邊玩邊學(1)畫布實現方法

一 標籤 你的瀏覽器不支援 canvas 標籤 複製 除了在那些不支援的瀏覽器上顯示替用內容之外,我們還可以通過指令碼的方式來檢查瀏覽器是否支援 canvas 方法很簡單,判斷 getcontext 函式是否存在即可,如下 var canvas document.getelementbyid tut...

HTML5邊玩邊學(1)畫布實現方法

一 標籤 html5 引入了乙個新的 標籤,這個標籤所代表的區域就好象一塊畫布,你的所有圖形繪製最後都要在這塊畫布上呈現。有了這個標籤,瀏覽器的圖形表現力被極大的提公升,flash程式設計客棧 和 silverlight 有沒有感到威脅呢?新聞鏈結 google聲稱chrome7瀏覽器將提速60倍 ...