《HTML5 Canvas开发详解》——第2章 在Canvas上绘图2.1 本章基本文件设置

第2章 在Canvas上绘图

HTML5 Canvas的使用是以强大的绘图、着色和基本二维形状变换为基础的,然而可供选择的内建形状相对有限,程序员可以通过一组称做路径的线段来绘制出想要的形状,“2.4使用路径创建线段”将涉及相关内容。

提示:
可以采用在线形式很好地了解HTML5 Canvas API。WSC网站上有详尽且不断更新的参考,具体描述了Canvas 2D绘图API的功能。

然而,这个在线参考缺少使用API的具体例子。本书避免简单地介绍各个参数的使用,将花时间通过创建示例来解释并探索尽可能多的功能。

2.1 本章基本文件设置

如同开始讲到绘图API时那样,本章中的示例也将使用相同的基本文件设置,具体如下。这段代码为本书所有的示例的基础,使用时只需改变drawScreen()函数的内容即可。

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ch2BaseFile - Template For Chapter 2 Examples</title>
<script src="modernizr-1.6.min.js"></script>
<script type="text/javascript">
window.addEventListener('load', eventWindowLoaded, false);
function eventWindowLoaded(){

  canvasApp();
}

function canvasSupport (){
   return Modernizr.canvas;
}

function canvasApp(){

if (!canvasSupport()){
     return;
   }else{
   var theCanvas = document.getElementById("canvas");
   var context = theCanvas.getContext("2d");
  }

  drawScreen();

  function drawScreen(){
   //改变这里
   context.fillStyle = '#aaaaaa';
   context.fillRect(0, 0, 200, 200);
   context.fillStyle = '#000000';
   context.font = '20px _sans';
   context.textBaseline = 'top';
   context.fillText ("Canvas!", 0, 0);

  }
}

</script>
</head>
<body>
<div style="position: absolute; top: 50px; left: 50px;">
<canvas id="canvas" width="500" height="500">
Your browser does not support HTML5 Canvas.
</canvas>
</div>
</body>
</html>
时间: 2024-10-29 22:35:04

《HTML5 Canvas开发详解》——第2章 在Canvas上绘图2.1 本章基本文件设置的相关文章

《HTML5 canvas开发详解(第2版)》——第2章 在Canvas上绘图2.1 本章基本文件设置

第2章 在Canvas上绘图 HTML5 Canvas的使用是以强大的绘图.着色和基本二维形状变换为基础的.然而,可供选择的内建形状相对有限,程序员可以通过一组称作路径的线段来绘制出想要的形状.2.4节将涉及相关内容. 提示可以采用在线形式很好地了解HTML5 Canvas API.WSC网站上有详尽且不断更新的参考,具体地描述了Canvas 2D绘图API的功能.然而,这个在线参考缺少使用API的具体例子.本书避免简单地介绍各个参数的使用,将花时间通过创建示例来解释并探索尽可能多的功能.2.1

《HTML5 canvas开发详解(第2版)》——导读

前言第2版介绍自从本书第1版发行之后,在过去的两年里,HTML5 Canvas的使用有了突飞猛进的增长.本书的第1版可以称得上是第一批介绍Canvas的专著之一.在我们为自己的快速而感到自豪同时也意味着我们曾经独自进行了大量的研究和探索.早在2011年,只有极少数HTML5 Canvas应用的例子和教程.但在2013年情形发生了改变.现在有许多关于HTML5 Canvas的资源可供选择,从框架到API,有许多网站和书籍进行专门的阐述.为了编写第2版,我们进行了大量艰辛的工作来检查在第1版中哪些部

《HTML5 canvas开发详解(第2版)》——1.6 HTML5 Canvas版“Hello World!”

1.6 HTML5 Canvas版"Hello World!" 如前所述,将Canvas放入HTML5页面时第一件要做的事就是,看看整个页面是否已经加载,并且开始操作前是否所有HTML元素都已展现.在用Canvas处理图像和声音的时候,这点会非常重要. 为此,这里要使用JavaScript的事件.当定义的事件发生时,事件从对象发出.其他对象监听事件,这样就可以基于事件进行处理.用JavaScript可以监听对象的一些常见事件,包括键盘输入.鼠标移动以及加载结束. 第一个需要监听的事件是

《HTML5 canvas开发详解(第2版)》——第1章 HTML5 Canvas简介1.1 什么是HTML5

第1章 HTML5 Canvas简介 HTML5是新一代的HTML,即超文本标记语言.HTML从1993年第一次标准化后,便奠定了万维网的基础.HTML通过使用将标签用尖括号(< >)括起来的方式定义Web页面内容. HTML5 Canvas是屏幕上的一个由JavaScript控制的即时模式位图区域.即时模式是指在画布上呈现像素的方式,HTML Canvas通过JavaScript调用Canvas API,在每一帧中完全重绘屏幕上的位图.作为一名程序员,所要做的就是在每一帧渲染之前设置屏幕的显

《HTML5 Canvas开发详解》——1.5 HTML5 Canvas版“Hello World!”

1.5 HTML5 Canvas版"Hello World!" 如前所述,将Canvas放入HTML5页面时第一件要做的事,就是看看整个页面是否已经加载,并且开始操作前是否所有HTML元素都已展现.用Canvas处理图像和声音的时候这点会非常重要. 为此,这里要使用JavaScript的事件.当定义的事件发生时,事件从对象发出.其他对象监听事件,这样就可以基于事件进行处理.用JavaScript可以监听对象的一些常见事件,包括键盘输入.鼠标移动以及加载结束. 第一个需要监听的事件是wi

《HTML5 canvas开发详解(第2版)》——1.8 2D环境及其当前状态

1.8 2D环境及其当前状态 通过调用Canvas对象的getContext()方法可以获得HTML5的2D环境对象(Canvas RenderingContext2D对象).所有操作都要通过该对象进行.CanvasRenderingContext2D对象包含了在画布上绘图所需的所有方法和属性.CanvasRenderingContext2D(简称环境,后同)采用画布左上角为原点(0,0)的笛卡尔坐标系,坐标轴向右.向下为正方向. 然而,所有这些属性和方法都与当前状态关联使用.当前状态是一个必须

《HTML5 canvas开发详解(第2版)》——2.4 使用路径创建线段

2.4 使用路径创建线段 路径可以用来在画布上绘制任何形状.路径就是一系列点以及这些点之间的连线.Canvas环境只能有一个"当前"路径,当调用context.save()方法时,不会将它储存为当前绘图状态的一部分. 路径的环境是一个需要读者理解的重要概念,因为它决定了只能变换画布上的当前路径. 2.4.1 设置路径的开始和结束 调用beginPath()函数开始一个路径,调用closePath()函数结束一个路径.连接路径内的两个点的路径称为子路径.如果终点与起点相连,子路径即成为封

《HTML5 canvas开发详解(第2版)》——2.6 在画布上合成

2.6 在画布上合成 合成是指如何精细控制画布上对象的透明度和分层效果.有两个属性可以控制Canvas合成操作:globalAlpha和globalCompositeOperation. globalAlpha:globalAlpha Canvas属性的默认值为1.0(完全不透明),并且可以设置从0.0(完全透明)-1.0的值.这项Canvas属性必须在图形绘制之前设置. globalCompositeOperation:globalCompositeOperation的值在globalalph

《HTML5 canvas开发详解(第2版)》——1.10 第二个示例:猜字母

1.10 第二个示例:猜字母 现在来快速看一下另一个广泛提及的"Hello World!"类型的应用程序示例--"猜字母"游戏.本章通过这个示例来说明用JavaScript编写Canvas程序比用Canvas API多了哪些工作量. 图 1-4所示的游戏中,玩家要做的是猜出计算机从字母表中随即抽取的字母.游戏会记录玩家已经猜了多少次,并列出已经猜过的字母,同时告诉玩家需要往哪个方向猜(往Z方向猜还是往A方向猜). 1.10.1 游戏如何工作这个游戏的基本结构与&qu