HTML5 Canvas 初吻

13年前

html5

html5是当前最新的html(HyperText Markup Language)版本,

在1993年,html被标准化也是推动www发展的重要因素, html是一种使用标签(<>)定义web页面内容的方式。

 

html5 canvas

简单的理解,<canvas>是一个新的HTML元素(标签),我们可以在<canvas></canvas>定义区域, 该区域可理解成一个画布; 利用canvas api在这个画布上进行绘图;

是可用javascript操作直接在屏幕可绘图区域绘图;

canvas直接通过屏幕像素渲染;

可以javascript与canvas api 重绘可绘图屏幕的每一帧;

作为一个programmer,只需要确保用正确的像素渲染每一帧图像,并显示出来即可;

 

canvas api

包括一个2D环境,2D环境是一个显示api,用于在一个可绘图区域渲染图像;

允许programmer绘各种形状、文本、直接显示图片;

可以控制颜色、旋转、透明度、像素操作;以及各种直线、曲线、盒子等;

但在2D环境下,用这个技术创建应用程序,是非常little,只需添加兼容javascript跨浏览器的功能,支持键盘、鼠标、时间、事件、对象、声音等;

我们可以通过学习html5 canvas,创建惊人的动画、应用程序及游戏(基本上取代了flash等);

 

DOM and Canvas

DOM= Document Object Model, 表示和处理一个html页面;

 一种独立于平台和语言,可在浏览器中访问和修改一个文档的内容和结构;

为了可以用javascript来操作canvas,在html5页面中,用DOM来定位<canvas>标签;

canvas元素本身是可以在浏览器中通过 DOM来访问的,但在画布上创建的单个图形元素是在DOM中访问 这是因为画布在实时模式下工作,没有自己的对象;

"window"对象是最顶级的DOM对象、我们需要测试该对象,以确保我们启动canvas应用程序之前,所有的代码已加载;

 "document"对象包含一个html页面的所有html标签。我们将需要它来查找到要用javascript操作的canvas实例;

 

JavaScript and Canvas

我们可以用javascript来创建canvas 应用程序,可以运行在现有的任何浏览器上;

<!doctype html>  <html lang="en">  <head>  <meta charset="UTF-8">  <title>Your First Canvas Application </title>  <script src="modernizr-1.6.min.js"></script>  <script type="text/javascript">    //modernizr-1.6.min.js 是一个支持canvas的类库,大家自己下载一下    //监听页面加载事件  window.addEventListener("load", eventWindowLoaded, false);  function eventWindowLoaded () {canvasApp();}    //检查是否支持  canvasfunction canvasSupport ()   {return Modernizr.canvas;}    //canvas 程序  function canvasApp ()   {if (!canvasSupport()) {return;}  var theCanvas = document.getElementById("canvasOne");  var context = theCanvas.getContext("2d");    //绘图主程序  function drawScreen()   {  //background  context.fillStyle = "#ffffaa";  context.fillRect(0, 0, 500, 300);  //text  context.fillStyle = "#000000";  context.font = "20px _sans";  context.textBaseline = "top";  context.fillText ("Hello World!", 195, 80 );  //box  context.strokeStyle = "#000000";  context.strokeRect(5, 5, 490, 290);}  //调用绘图  drawScreen();  </script>  </head>  <body>  <div style="position: absolute; top: 50px; left: 50px;">  <canvas id="canvasOne" width="500" height="300">Your browser does not support HTML5 Canvas.</canvas>  </div>  </body>  </html>
转自:http://www.cnblogs.com/amtf/archive/2012/01/04/2307382.html