Canvas一般是指畫(huà)布,最近對(duì)用html5寫(xiě)游戲比較感興趣,所以簡(jiǎn)單的用了一下Canvas。
之前接觸Canvas是在silverlight和wpf上用到過(guò)他,在silverlight上Canvas是一個(gè)絕對(duì)定位的容器,里面可以放任何控件。我們通過(guò)他可以構(gòu)建畫(huà)布、圖形應(yīng)用、GIS應(yīng)用等。
在html5中,canvas是一個(gè)新增的標(biāo)簽:
<canvas></canvas>
他還有一個(gè)特定的attribute:
比如定義下面的一個(gè)canvas:
圖中 canvas的大小是通過(guò)style決定的 600px * 450px,但是填滿整個(gè)canvas的坐標(biāo)只是400*300, 對(duì)應(yīng)著括號(hào)里的大小。
在canvas中畫(huà)圖是基于坐標(biāo)的,所以100, 50的坐標(biāo)轉(zhuǎn)化成了150px,75px的屏幕坐標(biāo),矩形的大小也由200*150轉(zhuǎn)換成300px*225px的屏幕大小。
你可以按照下面的代碼自己試一試:
通過(guò)canvas的dom對(duì)象,可以調(diào)用getContext("2d")的方法獲取對(duì)應(yīng)的畫(huà)圖對(duì)象:
var canvas = document.getElementsByTagName("canvas")[0];
var context = canvas.getContext("2d");
在開(kāi)發(fā)者控制臺(tái)里可以看到這個(gè)drawing2d的屬性及方法:
包含了fillStyle、stokeStyle、lineCap、font等畫(huà)筆樣式類的屬性,fillRect、strokeRect、beginPath、moveTo、lineTo、closePath、stroke、fill、drawImage等畫(huà)圖動(dòng)作的方法,還有一些其他的一些transfrom、save等方法。
簡(jiǎn)單說(shuō)一下我看了的幾個(gè)屬性和方法,其他的需要自己去摸索哦:
fillStyle:填充樣式,可以是顏色值的html碼 如紅色:#ff0000,其他是不是支持css3的更多屬性就不知道了
strokeStyle:線條樣式
font:字體樣式
fillRect:function(x,y,width,height),直接按fillStyle填滿一個(gè)矩形
strokeRect:function(x,y,width,height),直接按strokeStyle描一個(gè)矩形邊
beginPath:開(kāi)始畫(huà)線,配合moveTo\lineTo\closePath等畫(huà)折線或多邊形
moveTo:function(x,y)將畫(huà)線起點(diǎn)移動(dòng)到新的坐標(biāo)
lineTo:function(x,y)從當(dāng)前點(diǎn)畫(huà)的目標(biāo)點(diǎn)
closePath:從當(dāng)前點(diǎn)連接到起點(diǎn)
stroke:按照上面的路徑按strokeStyle畫(huà)折線
fill:按上面的路徑按fillStyle畫(huà)矩形
drawImage: function(image,x,y,width,height)將Image對(duì)象添加的畫(huà)布上。注意這里的image對(duì)象必須是已經(jīng)加載完畢的。如 var img = new Image();img.src="test.png";img.onload = function(){/*在這里才能將image添加到畫(huà)布*/}
可以看下上面畫(huà)矩形的方法:
畫(huà)一條折線:
canvas具有繪圖的功能,但是在用戶交互上似乎比較乏力。拿silverlight的canvas、.NET的Bitmap、html的div與canvas對(duì)比了一下:
個(gè)人感覺(jué)canvas和Bitmap更像,是一個(gè)將Bitmap放到瀏覽器端的一個(gè)版本,當(dāng)然我們可以通過(guò)他來(lái)實(shí)現(xiàn)更多的功能。canvas本身能實(shí)現(xiàn)的還是比較少,但是配合現(xiàn)有的其他瀏覽器端應(yīng)用的技術(shù)肯定能創(chuàng)造出更多好的應(yīng)用。
標(biāo)簽:陜西 南平 黃石 公主嶺 平頂山 黃石 山南
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html5的canvas元素使用方法介紹(畫(huà)矩形、畫(huà)折線、圓形)》,本文關(guān)鍵詞 html5,的,canvas,元素,使用方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。