Canvas是一個(gè)HTML5元素,可以使用JavaScript編程語(yǔ)言輕松有力地繪制圖形,開(kāi)發(fā)人員喜歡使用它來(lái)創(chuàng)建豐富的Web應(yīng)用程序。用戶(hù)可以在不使用Adobe的Flash播放器等專(zhuān)有瀏覽器插件的情況下使用這些應(yīng)用程序。
下面我們就來(lái)具體看一下canvas元素怎么使用。
canvas元素只能作為圖形的容器; 因此,我們應(yīng)該使用JavaScript來(lái)渲染圖形
我們?cè)贑anvas上繪制圖形,需要首先使用文檔對(duì)象模型(DOM)進(jìn)行目標(biāo)定位。并且,使用id屬性將幫助你識(shí)別匹配的目標(biāo)位置。
我們來(lái)看一個(gè)canvas元素的代碼
<canvas width="320" height="160" id="canvasExample"></canvas>
Canvas元素允許兩個(gè)特定屬性:width和height。
如果不為這兩個(gè)屬性提供值,則Canvas將使用寬度為300像素,高度為150像素的默認(rèn)值。
該ID屬性被用于識(shí)別在JavaScript代碼Canvas元素。
最初,<canvas>元素為空。因此,為了展示某些內(nèi)容,JavaScript腳本應(yīng)該在繪制之前獲取渲染上下文。
Canvas元素有一個(gè)內(nèi)置的DOM方法,稱(chēng)為getContext。它是一個(gè)JavaScript函數(shù),用于訪(fǎng)問(wèn)渲染上下文及其繪圖方法。
此函數(shù)接受單個(gè)參數(shù),通常是2D圖形上下文(定義為“2d”)
例如,要在Canvas上創(chuàng)建矩形形狀,需要以下屬性和函數(shù):
fillStyle =“color ” -為矩形添加顏色。
fillRect(x,y,width,height) -繪制一個(gè)填充的矩形
strokeRect(x,y,width,height) -給矩形提供了輪廓
clearRect(x,y,width,height) -它清除指定的矩形截面并使其完全透明
為了定義坐標(biāo),使用Canvas網(wǎng)格或坐標(biāo)系。原始尺寸位于Canvas區(qū)域的左上角,坐標(biāo)為(0,0)。
因此,X坐標(biāo)將向右移動(dòng),而Y坐標(biāo)將向下移動(dòng)。距離以像素為單位
x給出從左上角到右上角的水平位置
y給出從左上角到下邊的垂直位置
width給出矩形的寬度
height給出矩形的高度
具體的代碼如下
<!DOCTYPE html> <html> <head> <title>JavaScript HTML5 Canvas Example</title> </head> <body onload="canvasExample()"> <canvas width="320" height="160" id="canvasExample"></canvas> <script> function canvasExample(){ var canvas = document.getElementById("canvasExample"); if(canvas.getContext){ var context = canvas.getContext('2d'); context.fillStyle = "blue"; context.fillRect(50,50,150,250); context.clearRect(75,75,100,50); context.strokeRect(90,90,75,20); }else{ alert("Please a Canvas-Supporting Web Browser"); } } </script> </body> </html>
瀏覽器上顯示效果如下
以上代碼中JavaScript中所實(shí)現(xiàn)的是:
首先通過(guò)DOM識(shí)別Canvas元素
上下文已定義
fillRect()函數(shù)生成一個(gè)150 x 250像素的矩形
然后clearRect()函數(shù)從中心刪除一個(gè)100 x 50像素的矩形
最后,strokeRect()函數(shù)在清除區(qū)域內(nèi)構(gòu)造一個(gè)75 x 20像素的矩形