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

简介:

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

第1章 HTML5 Canvas简介

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特性。

1.1 什么是HTML5

最近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。

相关文章
|
1月前
|
开发框架 前端开发 JavaScript
前端框架演进史:从HTML到现代化开发
前端框架演进史:从HTML到现代化开发
33 0
|
1月前
|
XML 编解码 前端开发
编程笔记 html5&css&js 033 HTML SVG
编程笔记 html5&css&js 033 HTML SVG
|
4天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
13 1
|
4天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
1月前
HTML简介
HTML简介
65 1
|
1月前
|
Web App开发 前端开发 JavaScript
编程笔记 html5&css&js 061 JavaScript 简介
编程笔记 html5&css&js 061 JavaScript 简介
|
1月前
|
移动开发 定位技术 API
编程笔记 html5&css&js 035 HTML 地理定位
编程笔记 html5&css&js 035 HTML 地理定位
|
1月前
|
XML 移动开发 数据格式
编程笔记 html5&css&js 034 HTML MathML
编程笔记 html5&css&js 034 HTML MathML
|
移动开发 HTML5 容器
快速开发基于 HTML5 网络拓扑图应用--入门篇(二)
上一篇我们绘制了一个 graphView 场景,在场景之上通过 graphView.dm() 获取数据容器,并通过 graphView.dm().add() 函数添加了两个 Node 节点,并通过 setPosition 设置节点位置以及 setImage 给节点添加图片;接着在两个节点之间通过 ht.Edge(sourceNode, targetNode) 添加了两条连线(实际上还可以更多),并给连线添加了 label 标签显示文字,同时也通过 label.position 设置了文字在连线上的位置。
1658 0
|
移动开发 前端开发 数据可视化
快速开发基于 HTML5 网络拓扑图应用--入门篇(一)
计算机网络的拓扑结构是引用拓扑学中研究与大小,形状无关的点、线关系的方法。把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构。网络的拓扑结构反映出网中各实体的结构关系,是建设计算机网络的第一步,是实现各种网络协议的基础,它对网络的性能,系统的可靠性与通信费用都有重大影响。
2225 0