天天看点

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

本节书摘来自异步社区《html5 canvas开发详解(第2版)》一书中的第1章,第1.1节,作者: 【美】steve fulton , jeff fulton 更多章节内容可以访问云栖社区“异步社区”公众号查看。

html5是新一代的html,即超文本标记语言。html从1993年第一次标准化后,便奠定了万维网的基础。html通过使用将标签用尖括号(< >)括起来的方式定义web页面内容。

html5 canvas是屏幕上的一个由javascript控制的即时模式位图区域。即时模式是指在画布上呈现像素的方式,html canvas通过javascript调用canvas api,在每一帧中完全重绘屏幕上的位图。作为一名程序员,所要做的就是在每一帧渲染之前设置屏幕的显示内容,这样才能显示正确的像素。

这使得html5 canvas与在保留模式下运行的flash、silverlight或svg有很大的区别。在保留模式下,对象显示列表由图形渲染器保存,通过在代码中设置属性(例如,x坐标、y坐标和对象的alpha透明度)控制展示在屏幕上的对象。这使得程序员可以远离底层操作,但是它弱化了对位图屏幕最终渲染效果的控制。

基本的html5 canvas api包括一个2d环境,允许程序员绘制各种图形和渲染文本,并且将图像直接显示在浏览器窗口定义的区域。读者可以对画布上放置的的图形、文本和图像应用颜色、旋转、渐变色填充、alpha透明度、像素处理等,并且可以使用各种直线、曲线、边框、底纹来增强其效果。

就其本身而言,html5 canvas 2d环境是一个用来在位图区域渲染图形显示的api,但人们很少使用该技术在这个环境中创建应用程序。通过跨浏览器兼容的javascript语言可以调用键盘鼠标输入、定时器间隔、事件、对象、类、声音、数学函数等功能,希望读者能够学会并使用html5 canvas创建优质的动画、应用程序和游戏。

本书将深入解读canvas api。在此过程中,本书将展示如何使用canvas api来创建应用程序。本书中的很多技术已经被成功应用于其他平台,现在,本书要将它们应用到html5 canvas这个令人兴奋的新技术上来。

支持html5 canvas的浏览器

除了ie 8以外,很多新版本的浏览器都支持html5 canvas。几乎每天都会支持新的特性。支持最好的应该是google chrome,紧接着是safari、internet explorer 10、firefox、opera。本书将利用名为modernizr.js的javascript库来帮助判断各个浏览器支持哪些canvas特性。

最近html5的定义已经发生了转变,当作者在2010年编写本书第一版的时候,w3c的html5规范是一个独特的单元,它涵盖了有限的功能集合,其中包括了诸如新的html标签(< video >、< audio >和< canvas >)之类的东西。然而,在过去的一年中,这一定义已经发生了改变。

那么,究竟什么是html5?在w3c html5的常见问题中,关于html5是这样说明的:html5是一个开放的平台下开发的免费许可条款。

术语html5会被人们使用在以下两个方面。

指一组共同构成了未来开放式网络平台的技术。

这些技术包括html5规范、css3、svg、mathml、地理位置、xmlhttprequest、context 2d、web字体以及其他技术。这一套技术的边界是非正式的,且随时间变化的。

指html5规范,当然也是开放式网络平台的一部分。

在过去的几个月里,我们通过交谈和项目工作了解到的是:普通人(或者说那些急着要完成项目的客户)谁也不会严格遵守上述定义,这些都是html5。因此,当有人说起“html5”的时候,他们实际上指的是“开放式网络平台”。

当人们提及“开放式网络平台”时,有一件可以确定的事是,这份邀请名单中一定不能漏掉adobe flash。

html5是什么?总之,它不是flash(也不是其他类似的技术)。html5 canvas是最有能力在网络和移动互联网上取代flash功能的最好的技术。这本书将带领读者学习如何开始使用html5 canvas。

继续阅读