要在網路上創建的圖形應用程式,HTML-5提供了一套豐富的功能,如2D畫布,WebGL,SVG,CSS3D變換和SMIL。要編寫WebGL的應用程式,我們可以使用HTML-5現有的canvas元素。本章提供了HTML-52D canvas元素的概述。
HTML5 Canvas
HTML-5<canvas>提供了一個簡單而強大的選項來使用 JavaScript 繪製圖形。它可以用來繪製圖形,使照片組合,或做簡單的(和不那麼簡單的)動畫。
這是一個簡單的<canvas>元素只有兩個特定的屬性:width和height,以及所有HTML5元素有核心的屬特,例如像:id,name和class。
語法
HTML畫布<canvas>標記的語法如下所示。要提到這些在雙引號(“”)畫布的名稱。
<canvas id = "mycanvas" width = "100" height = "100"></canvas>
Canvas 屬性
canvas 標籤有三個屬性,即:id, width 和 height。
-
Id − ID代表在文檔對象模型(DOM)canvas元素的識別字。
-
Width − 表示canvas的寬度。
-
Height − 表示canvas的高度。
這些屬性決定 canvas 的大小。如果程式員不指定<canvas>標籤的大小,那麼流覽器如Firefox,Chrome流覽器和Web工具包,默認情況下為canvas元素提供尺寸為300×150。
示例 - 創建一個Canvas
下麵的代碼演示了如何創建一個畫布(canvas)。我們用CSS來將一個彩色邊框添加到畫布上。
<html> <head> <style> #mycanvas{border:1px solid red;} </style> </head> <body> <canvas id = "mycanvas" width = "300" height = "200"></canvas> </body> </html>
這將產生以下結果 -


HTML Context (渲染)
<canvas>最初為空。要canvas元素上顯示東西,必須使用的腳本語言。這個腳本語言應該訪問渲染上下文,並且繪製就可以了。
canvas元素有一個DOM方法是 getContext(),它被用來獲取呈現上下文和它的繪圖功能。這個方法有一個參數,上下文 2D 類型。
下麵的代碼將被寫入,以獲得必要的上下文。可以將此腳本寫在body標籤內,如下圖所示。
<!DOCTYPE HTML> <html> <body> <canvas id = "mycanvas" width = "600" height = "300"></canvas> <script> var canvas = document.getElementById('mycanvas'); var context = canvas.getContext('2d'); context.font = '20pt Calibri'; context.fillStyle = 'green'; context.fillText('Welcome to zaixian Tutorial', 100, 100); </script> </body> </html>
這將產生以下結果 -
WebGL Context
HTML5畫布(Canvas)也用於寫WebGL的應用程式。要創建canvas元素使用WebGL來渲染,應該可傳遞 experimental-webgl,WebGL,而不是2D到 canvas.getContext()方法。有些流覽器只支持“WebGL”。
<!DOCTYPE html> <html> <canvas id = 'my_canvas'></canvas> <script> var canvas = document.getElementById('my_canvas'); var gl = canvas.getContext('experimental-webgl'); gl.clearColor(0.9,0.9,0.8,1); gl.clear(gl.COLOR_BUFFER_BIT); </script> </html>
這將產生以下結果 -

上一篇:
WebGL基本圖形概念
下一篇:
WebGL基礎