HTML5 Canvas核心技术

HTML5 Canvas核心技术 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:David Geary
出品人:
页数:486
译者:爱飞翔
出版时间:2013-5
价格:99.00元
装帧:
isbn号码:9787111416340
丛书系列:华章程序员书库
图书标签:
  • HTML5
  • Canvas
  • Web前端
  • 前端
  • JavaScript
  • 计算机
  • 前端开发
  • 编程
  • HTML5
  • Canvas
  • 核心技术
  • 前端开发
  • 图形绘制
  • 网页动画
  • 浏览器技术
  • 可视化
  • 编程基础
  • 开发者工具
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

海报:

作者简介

目录信息

《html5 canvas核心技术:图形、动画与游戏开发》
译者序
前言
第1章 基础知识 1
1.1 canvas元素 1
1.1.1 canvas元素的大小与绘图表面的大小 4
1.1.2 canvas元素的api 5
1.2 canvas的绘图环境 6
1.2.1 2d绘图环境 6
1.2.2 canvas状态的保存与恢复 8
1.3 本书程序清单的规范格式 9
1.4 开始学习html5 10
1.4.1 规范 10
1.4.2 浏览器 11
1.4.3 控制台与调试器 11
1.4.4 性能 13
1.5 基本的绘制操作 15
1.6 事件处理 18
1.6.1 鼠标事件 18
1.6.2 键盘事件 22
.1.6.3 触摸事件 23
1.7 绘制表面的保存与恢复 23
1.8 在canvas中使用html元素 25
1.9 打印canvas的内容 32
1.10 离屏canvas 35
1.11 基础数学知识简介 37
1.11.1 求解代数方程 37
1.11.2 三角函数 38
1.11.3 向量运算 39
1.11.4 根据计量单位来推导等式 42
1.12 总结 44
第2章 绘制 45
2.1 坐标系统 46
2.2 canvas的绘制模型 47
2.3 矩形的绘制 48
2.4 颜色与透明度 50
2.5 渐变色与图案 52
2.5.1 渐变色 52
2.5.2 图案 54
2.6 阴影 57
2.7 路径、描边与填充 60
2.7.1 路径与子路径 63
2.7.2 剪纸效果 64
2.8 线段 69
2.8.1 线段与像素边界 70
2.8.2 网格的绘制 71
2.8.3 坐标轴的绘制 72
2.8.4 橡皮筋式的线条绘制 74
2.8.5 虚线的绘制 79
2.8.6 通过扩展canvasrenderingcontext2d来绘制虚线 80
2.8.7 线段端点与连接点的绘制 81
2.9 圆弧与圆形的绘制 83
2.9.1 arc()方法的用法 83
2.9.2 以橡皮筋式辅助线来协助用户画圆 85
2.9.3 arcto()方法的用法 86
2.9.4 刻度仪表盘的绘制 88
2.10 贝塞尔曲线 93
2.10.1 二次方贝塞尔曲线 93
2.10.2 三次方贝塞尔曲线 95
2.11 多边形的绘制 97
2.12 高级路径操作 102
2.12.1 拖动多边形对象 102
2.12.2 编辑贝塞尔曲线 107
2.12.3 自动滚动网页,使某段路径所对应的元素显示在视窗中 115
2.13 坐标变换 116
2.13.1 坐标系的平移、缩放与旋转 116
2.13.2 自定义的坐标变换 119
2.14 图像合成 123
2.15 剪辑区域 128
2.15.1 通过剪辑区域来擦除图像 128
2.15.2 利用剪辑区域来制作伸缩式动画 133
2.16 总结 135
第3章 文本 137
3.1 文本的描边与填充 137
3.2 设置字型属性 141
3.3 文本的定位 144
3.3.1 水平与垂直定位 144
3.3.2 将文本居中 146
3.3.3 文本的度量 147
3.3.4 绘制坐标轴旁边的文本标签 148
3.3.5 绘制数值仪表盘周围的文本标签 151
3.3.6 在圆弧周围绘制文本 152
3.4 实现文本编辑控件 154
3.4.1 指示文本输入位置的光标 154
3.4.2 在canvas中编辑文本 159
3.4.3 文本段的编辑 163
3.5 总结 174
第4章 图像与视频 175
4.1 图像的绘制 176
4.1.1 在canvas之中绘制图像 176
4.1.2 drawimage()方法的用法 177
4.2 图像的缩放 179
4.3 将一个canvas绘制到另一个canvas之中 183
4.4 离屏canvas 186
4.5 操作图像的像素 189
4.5.1 获取图像数据 189
4.5.2 修改图像数据 195
4.6 结合剪辑区域来绘制图像 208
4.7 以图像制作动画 211
4.8 图像绘制的安全问题 216
4.9 性能 216
4.9.1 对比drawimage(htmlimage)、drawimage(htmlcanvas)与putimagedata()的绘图效率 217
4.9.2 在canvas中绘制另一个canvas与绘制普通图像之间的对比;在绘制时缩放图像与保持原样之间的对比 217
4.9.3 遍历图像数据 218
4.10 放大镜 222
4.10.1 使用离屏canvas 224
4.10.2 接受用户从文件系统中拖放进来的图像 225
4.11 视频处理 227
4.11.1 视频格式 227
4.11.2 在canvas中播放视频 229
4.11.3 视频处理 230
4.12 总结 234
第5章 动画 235
5.1 动画循环 235
5.1.1 通过requestanimationframe()方法让浏览器来自行决定帧速率 237
5.1.2 internet explorer浏览器对requestanimationframe()功能的实现 241
5.1.3 可移植于各浏览器平台的动画循环逻辑 241
5.2 帧速率的计算 248
5.3 以不同的帧速率来执行各种任务 249
5.4 恢复动画背景 250
5.4.1 利用剪辑区域来处理动画背景 250
5.4.2 利用图块复制技术来处理动画背景 252
5.5 利用双缓冲技术绘制动画 253
5.6 基于时间的运动 254
5.7 背景的滚动 257
5.8 视差动画 261
5.9 用户手势 264
5.10 定时动画 266
5.10.1 秒表 266
5.10.2 动画计时器 269
5.11 动画制作的最佳指导原则 270
5.12 总结 271
第6章 精灵 272
6.1 精灵概述 273
6.2 精灵绘制器 275
6.2.1 描边与填充绘制器 275
6.2.2 图像绘制器 279
6.2.3 精灵表绘制器 281
6.3 精灵对象的行为 284
6.3.1 将多个行为组合起来 285
6.3.2 限时触发的行为 287
6.4 精灵动画制作器 289
6.5 基于精灵的动画循环 293
6.6 总结 294
第7章 物理效果 295
7.1 重力 295
7.1.1 物体的下落 296
7.1.2 抛射体弹道运动 298
7.1.3 钟摆运动 307
7.2 时间轴扭曲 311
7.3 时间轴扭曲函数 315
7.4 时间轴扭曲运动 317
7.4.1 没有加速度的线性运动 319
7.4.2 逐渐加速的缓入运动 320
7.4.3 逐渐减速的缓出运动 322
7.4.4 缓入缓出运动 323
7.4.5 弹簧运动与弹跳运动 324
7.5 以扭曲后的帧速率播放动画 326
7.6 总结 332
第8章 碰撞检测 333
8.1 外接图形判别法 333
8.1.1 外接矩形判别法 333
8.1.2 外接圆判别法 334
8.2 碰到墙壁即被弹回的小球 336
8.3 光线投射法 337
8.4 分离轴定理(sat)与最小平移向量(mtv) 340
8.4.1 使用分割轴定理检测碰撞 340
8.4.2 根据最小平移向量应对碰撞 362
8.5 总结 373
第9章 游戏开发 374
9.1 游戏引擎 374
9.1.1 游戏循环 376
9.1.2 加载图像 382
9.1.3 同时播放多个声音 384
9.1.4 键盘事件 385
9.1.5 高分榜 386
9.1.6 游戏引擎源代码 387
9.2 游戏原型 395
9.2.1 游戏原型程序的html代码 396
9.2.2 原型程序的游戏循环 399
9.2.3 游戏原型程序的加载画面 400
9.2.4 暂停画面 402
9.2.5 按键监听器 404
9.2.6 游戏结束及高分榜 404
9.3 弹珠台游戏 407
9.3.1 游戏循环弹珠 408
9.3.2 弹珠精灵 410
9.3.3 重力与摩擦力 411
9.3.4 弹板的移动 412
9.3.5 处理键盘事件 413
9.3.6 碰撞检测 416
9.4 总结 425
第10章 自定义控件 426
10.1 圆角矩形控件 427
10.2 进度条控件 433
10.3 滑动条控件 437
10.4 图像查看器控件 446
10.5 总结 454
第11章 移动平台开发 455
11.1 移动设备的视窗 456
11.2 媒体特征查询技术 461
11.2.1 媒体特征查询与css 461
11.2.2 用javascript程序应对媒体特征的变化 462
11.3 触摸事件 464
11.3.1 touchevent对象 464
11.3.2 touchlist对象 465
11.3.3 touch对象 466
11.3.4 同时支持触摸事件与鼠标事件 466
11.3.5 手指缩放 468
11.4 ios5 469
11.4.1 应用程序图标及启动画面 469
11.4.2 利用媒体特征查询技术设置ios5系统的应用程序图标及启动画面 470
11.4.3 以不带浏览器饰件的全屏模式运行应用程序 471
11.4.4 应用程序的状态栏 471
11.5 虚拟键盘 472
11.6 总结 485
· · · · · · (收起)

读后感

评分

同事推荐的这本书,看了几天,今天终于看完第二章,还剩9章左右,但是前面两章的内容安排就已经非常好。 纵观全书: - 第一章是Canvas的扫盲和相关配套信息 - 第二章专注的是在Canvas的绘图,路径,线,矩形,圆,颜色透明度,渐变和图案,阴影,贝塞尔曲线,多边形绘制,坐...

评分

【本书适合的读者】 ①具有html/css/JavaScript基础,并不需要读者有太深的功底 ②对HTML5 Canvas画图功能感兴趣的 【本书可以帮你】 ①巩固你对原生JavaScript的理解,包括原型、对象、函数、事件等等。 ②养成良好的web前端编程习惯。因为本书的代码基本遵循了Douglas Crockf...  

评分

同事推荐的这本书,看了几天,今天终于看完第二章,还剩9章左右,但是前面两章的内容安排就已经非常好。 纵观全书: - 第一章是Canvas的扫盲和相关配套信息 - 第二章专注的是在Canvas的绘图,路径,线,矩形,圆,颜色透明度,渐变和图案,阴影,贝塞尔曲线,多边形绘制,坐...

评分

我手上的书是2015年2月第1版第4次印刷的。 勘误表: 62页:rect()函数的表述:...总是按逆时针方向创建的。这个与67页的表述不符,所以改为顺时针。 73页:drawAxes()函数的context,lineWidth = 0.5;语句多余 74页:drawVerticalAxisTicks函数的var deltaY;变量声明改为var d...  

评分

我手上的书是2015年2月第1版第4次印刷的。 勘误表: 62页:rect()函数的表述:...总是按逆时针方向创建的。这个与67页的表述不符,所以改为顺时针。 73页:drawAxes()函数的context,lineWidth = 0.5;语句多余 74页:drawVerticalAxisTicks函数的var deltaY;变量声明改为var d...  

用户评价

评分

读完前三章,我最大的感受是作者在知识组织上的那种近乎偏执的条理性和逻辑性。他没有采用那种堆砌概念、让人生畏的叙述方式,而是采取了一种“问题导向——原理阐述——实战演示”的完美闭环结构。比如,在讲解图形渲染管线时,作者没有直接抛出复杂的数学公式,而是先用一个日常生活中常见的例子来类比,比如光线穿过三棱镜的现象,瞬间就将抽象的“坐标系变换”具象化了。这种循序渐进的引导,极大地降低了初学者的学习门槛。我甚至发现,一些我曾经在其他几本资料中反复研读却始终困惑不解的概念,在这里居然被解释得如此通透和自然。作者的文字功底也极其出色,用词精准,表达流畅,完全没有技术文档常见的晦涩和生硬感,读起来非常舒服,就像是有一位经验丰富的前辈在你耳边耐心讲解,而不是冷冰冰的教材在自说自话。这种流畅的阅读体验,让原本枯燥的技术学习过程,变成了一种知识的享受。

评分

这本书的封面设计简直是艺术品,那种深邃的蓝与跳跃的黄的撞色搭配,让人一眼就能感受到其中蕴含的技术力量和创新精神。我原本对技术书籍的封面总是不抱太大期望,觉得大多是千篇一律的模板化设计,但《HTML5 Canvas核心技术》完全打破了我的固有印象。它不仅仅是一本工具书,更像是一件值得收藏的桌面摆设。我特意把它放在了书架最显眼的位置,每次路过都能被它吸引。拿到手里,纸张的质感也出乎意料地好,厚实且微磨砂的触感,即便是长时间翻阅,指尖也不会感到疲惫。这种对细节的把控,让我对内文的专业程度有了更高的期待。要知道,现在很多出版社为了压缩成本,在印刷和装帧上都很敷衍,但这本投入了明显的心思,体现了作者和出版社对读者的尊重。那种沉甸甸的感觉,仿佛预示着里面承载了大量扎实且精炼的知识,让人迫不及待地想要深入其中,探索那些隐藏在精美包装下的技术奥秘。

评分

这本书的排版和配图达到了专业级期刊的水准,这是我阅读技术书籍时一个常常被忽略却又极其重要的体验点。清晰的图示,尤其是那些流程图和结构分解图,不再是简单的黑白线条勾勒,而是采用了彩色的标注和层次分明的图层展示,极大地帮助了对复杂算法的理解。例如,在讲解三次贝塞尔曲线的数学原理时,作者配上了三维空间中控制点、起点和终点之间向量关系的彩色动态图示(虽然是静态图片,但视觉效果非常立体),使得原本抽象的数学模型变得触手可及。而且,代码块的格式处理得非常舒服,行号清晰,关键函数和变量名被恰当地高亮,使得代码阅读和查找变得高效快捷。这种对细节的极致追求,让长时间的深度阅读变得不再是一种负担,而成为了一种愉快的探索过程。这本书的制作水平,无疑为同类技术书籍树立了一个新的标杆。

评分

与其他同类书籍相比,这本书在对API底层机制的挖掘深度上,展现出了极强的内功。我特别关注了关于数据如何在浏览器内存中存储以及图形上下文对象(Context Object)的生命周期管理那几章。作者深入探讨了Canvas的“绘制状态”(Drawing State)是如何被堆栈(Stack)机制管理的,这一点非常关键,因为状态的误操作是导致Canvas渲染错误的常见原因。书中不仅提到了`save()`和`restore()`的使用,还详细解释了调用这两个函数时,浏览器内部的栈操作究竟发生了什么,甚至引用了V8引擎的一些优化策略作为佐证。这种从应用层到底层机制的全面覆盖,让读者不只是学会了“如何做”,更重要的是理解了“为什么能这么做”以及“为什么不应该那么做”。对于那些追求卓越的工程师而言,这种深度解析是区分“熟练工”和“架构师”的关键所在。这本书成功地弥补了市场上这类深度剖析内容的空白。

评分

这本书在项目案例的选择和深度上,做得非常到位,完全超越了我对一本“核心技术”书籍的预期。很多技术书的案例往往停留在“画个圆、写段字”的初级阶段,或者直接跳到过于复杂的商业应用,让人看了也无从下手。然而,《HTML5 Canvas核心技术》中的案例设计得恰到好处,每一个都紧密围绕着当前章节的核心难点进行设计和优化。我特别欣赏作者在构建复杂动画时,对性能优化的探讨。他不仅仅展示了如何实现效果,更深入剖析了为什么某些实现方式会导致卡顿,以及如何通过Web Workers或OffscreenCanvas来合理分配计算资源。这部分内容对于任何想要将Canvas技术投入到实际高性能应用中的开发者来说,都是无价之宝。我立刻尝试将书中关于粒子系统碰撞检测的代码片段应用到我正在进行的一个数据可视化项目中,效果立竿见影,原本需要耗费数小时调试的性能瓶颈,在作者的指导下,不到半小时就找到了症结并成功解决,这极大地提升了我的工作效率。

评分

推荐阅读的canvas书籍

评分

把数学物理复习了挺好的_(:3」∠)_

评分

把数学物理复习了挺好的_(:3」∠)_

评分

很粗略地看了一遍,当时说要实现一个四叉树,结果到现在都没动手。2017.05.21

评分

以前看Canvas的相关API很头痛,这本书居然能坚持看完。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有