更新時(shí)間:2021-09-20 來源:黑馬程序員 瀏覽量:
canvas元素是HTML5的一部分,允許腳本語言動(dòng)態(tài)渲染位圖像。canvas由一個(gè)可繪制地區(qū)HTML代碼中的屬性定義決定高度和寬度。JavaScript代碼可以訪問該地區(qū),通過一套完整的繪圖功能類似于其他通用二維的API,從而生成動(dòng)態(tài)的圖形。
創(chuàng)建canvas標(biāo)簽,首先我們需要有一個(gè)畫布(Canvas)
<canvas id="canvas" width="150" height="150"></canvas>
渲染上下文
創(chuàng)建畫布之后,怎么使用了,需要在javascript中獲取到畫布并渲染上下文。
var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d');
代碼的第一行通過使用 document.getElementById() 方法來為 <canvas> 元素得到DOM 對象。一旦有了元素對象,你可以通過使用它的getContext()方法來訪問繪畫上下文。
創(chuàng)建canvas標(biāo)簽時(shí)可以在標(biāo)簽內(nèi)寫上不支持的信息,如該瀏覽器不支持canvas。
<canvas id="canvas" width="150" height="150">該瀏覽器不支持 canvas</canvas>
同時(shí)也可以通過檢測 getContext()方法是否存在來測試是否支持編程
var canvas = document.getElementById('tutorial');if (canvas.getContext){ var ctx = canvas.getContext('2d'); // drawing code here} else { // canvas-unsupported code here } ##來看一下最基本的模板 <html> <head> <title>Canvas tutorial</title> <style type="text/css"> canvas { border: 1px solid black; } </style> </head> <body onload="draw();"> <canvas id="tutorial" width="150" height="150"></canvas><script type="text/javascript"> function draw(){ var canvas = document.getElementById('tutorial'); if (canvas.getContext){ var ctx = canvas.getContext('2d'); } } </body> </html>
1、游戲:游戲在 HTML5 領(lǐng)域具有舉足輕重的地位。HTML5 在基于 Web 的圖像顯示方面比Flash更加立體、更加精巧,Ohad認(rèn)為運(yùn)用canvas制作的圖像能夠令HTML5游戲在 流暢度和跨平臺(tái)方面發(fā)揮更大的潛力。
2、圖表制作:現(xiàn)在一些開發(fā)者使用HTML/CSS完成圖標(biāo)制作,但完全可以用canvas來實(shí)現(xiàn)。當(dāng)然,使用SVG(可縮放矢量圖形)來完成圖表制作也是非常好的方法。(例如:echarts.js heightchart.js都是基于canvas來繪圖!)
猜你喜歡: