WebGL - Html5 Canvas概述

要在Web上创建图形应用程序,HTML-5提供了丰富的功能集,例如2D Canvas,WebGL,SVG,3D CSS转换和SMIL.要编写WebGL应用程序,我们使用HTML-5的现有canvas元素.本章概述了HTML-5 2D画布元素.

HTML5画布

HTML-5 < canvas> 提供了一个简单而强大的选项,可以使用JavaScript绘制图形.它可以用来绘制图形,制作照片合成,或者做简单(而不是那么简单)的动画.

这是一个简单的< canvas> 元素只有两个特定属性宽度高度加上所有核心HTML-5属性,如id,name和class.

语法

下面给出了HTML canvas标签的语法.你必须在双引号("")中提到画布的名称.

 
< canvas id ="mycanvas"width ="100 "height ="100"></canvas>

画布属性

canvas标签有三个属性,即id,width和height.

  • Id :  Id表示文档对象模型(DOM)中canvas元素的标识符.

  • 宽度  : 去;宽度表示画布的宽度.

  • 高度 : 高度表示画布的高度.

这些属性决定了画布的大小.如果程序员没有在canvas标签下指定它们,那么默认情况下,Firefox,Chrome和Web Kit等浏览器会提供大小为300及以上的画布元素; 150.

示例 - 创建画布

以下代码显示如何创建画布.我们使用CSS为画布赋予了彩色边框.

<html>
   <head>
      <style>
         #mycanvas{border:1px solid red;}
      </style>
   </head>
   <body>
      <canvas id = "mycanvas" width = "100" height = "100"></canvas>
   </body>
</html>

The Rendering Context

<canvas>最初是空白的。 要在canvas元素上显示某些内容,我们必须使用脚本语言。 该脚本语言应访问渲染上下文并在其上进行绘制。

canvas元素具有一个称为getContext()的DOM方法,该方法用于获取渲染上下文及其绘图功能。 此方法采用一个参数,即上下文2d的类型。

下面的代码将被编写以获得所需的上下文。 您可以如下所示在body标签中编写此脚本。

<!DOCTYPE HTML>
<html>
   <body>
      <canvas id = "mycanvas" width = "600" height = "200"></canvas>

      <script>
         var canvas = document.getElementById('mycanvas');
         var context = canvas.getContext('2d');
			
         context.font = '20pt Calibri';
         context.fillStyle = 'green';
         context.fillText('Welcome to Tutorialspoint', 70, 70);
      </script>
   </body>
</html>

在执行时,以上代码将产生以下输出:

有关HTML-5 2D画布的更多示例,请查看以下链接HTML-5画布。

WebGL Context

HTML5 Canvas也用于编写WebGL应用程序。 要在canvas元素上创建WebGL渲染上下文,您应该将字符串Experimental-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>