内容简介
第一部分Canvas基础
第1章Canvas概述
1.1 Canvas简介
1.1.1 Canvas是什么
1.1.2 Canvas与SVG
1.2 Canvas元素知识
1.2.1 Canvas元素
1.2.2 Canvas对象
第2章直线图形
2.1直线图形简介
2.2直线
2.2.1 Canvas坐标系
2.2.2直线的绘制
2.3矩形
2.3.1“描边”矩形
2.3.2“填充”矩形
2.3.3 rect()方法
2.3.4清空矩形
2.4多边形
2.4.1 Canvas绘制箭头
2.4.2 Canvas绘制正多边形
2.4.3五角星
2.5训练题:绘制调色板
第3章 曲线图形
3.1曲线图形简介
3.2圆形简介
3.2.1圆形
3.2.2“描边”圆
3.2.3“填充”圆
3.3弧线
3.3.1 arc()画弧线
3.3.2 arcTo()画弧线
3.4二次贝塞尔曲线
3.5三次贝塞尔曲线
3.6训练题:绘制扇形
第4章 线条操作
4.1线条操作
4.2 IineWidth属性
4.3 IineCap属性
4.4 IineJoin属性
4.5 setLineDash()方法
第5章 文本操作
5.1文本操作简介
5.2文本操作“方法”
5.2.1 strokeText()方法
5.2.2 fillText()方法
5.2.3 measureText()方法
5.3文本操作“属性”
5.3.1 font属性
5.3.2 textAlign属性
5.3.3 textBaseline属性
第6章 图片操作
6.1图片操作简介
6.2绘制图片
6.2.1 drawlmage(image,dx,dy)
6.2.2 drawlmage(image,dx,dy,dw,dh)
6.2.3 drawlmage(image,sx,sy,sw,sh, dx,dy,dw,dh)
6.3平铺图片
6.4切割图片
6.5深入图片操作
第7章 变形操作
7.1变形操作简介
7.2图形平移
7.2.1 translate()方法
7.2.2 clearRect()方法清空Canvas
7.3图形缩放
7.3.1 scale()方法
7.3.2 scale()方法的负作用
7.4图形旋转
7.4.1 rotate()方法
7.4.2改变旋转中心
7.5变换矩阵
7.5.1 transform()方法
7.5.2 setTransform()方法
7.6深入变形操作
7.7训练题:绘制绚丽的图形
7.8训练题:绘制彩虹
第8章 像素操作
8.1像素操作简介
8.1.1 getlmageData()方法
8.1.2 putlmageData()方法
8.2反转效果
8.3黑白效果
8.4亮度效果
8.5复古效果
8.6红色蒙版
8.7透明处理
8.8 createlmageData()方法
第9章 渐变与阴影
9.1线性渐变
9.2径向渐变
9.3阴影
第10章Canvas路径
10.1路径简介
10.2 beginPath()方法和closePath()方法
10.2.1 beginPath()方法
10.2.2 closePath()方法
10.3 isPointlnPath()方法
第11章Canvas状态
11.1状态简介
11.2 clip()方法
11.3 save()方法和restore()方法
11.3.1图形或图片剪切
11.3.2图形或图片变形
11.3.3状态属性的改变
第12章 其他应用
12.1 Canvas对象
12.1.1 Canvas对象属性
12.1.2 Canvas对象方法
12.2 globalAlpha属性
12.3 globalCompositeOperation属性
12.4 stroke()和fill()
第二部分Canvas进阶
第13章 事件操作
13.1 Canvas动画简介
13.2鼠标事件
13.2.1什么是鼠标事件
13.2.2获取鼠标位置
13.3键盘事件
13.3.1什么是键盘事件
13.3.2获取物体移动方向
13.4循环事件
第14章 物理动画
14.1物理动画简介
14.2三角函数简介
14.2.1什么是三角函数
14.2.2 Math.atan()与Math.atan2()
14.3三角函数应用
14.3.1两点间的距离
14.3.2圆周运动
14.3.3波形运动
14.4匀速运动
14.4.1什么是匀速运动
14.4.2速度的合成和分解
14.5加速运动
14.5.1什么是加速运动
14.5.2加速度的合成和分解
14.6重力
14.6.1什么是重力
14.6.2重力的应用
14.7摩擦力
第15章 边界检测
15.1边界检测简介
15.2边界限制
15.3边界环绕
15.4边界生成
15.5边界反弹
第16章 碰撞检测
16.1碰撞检测简介
16.2外接矩形判定法
16.3外接圆判定法
16.4多物体碰撞
16.4.1排列组合
16.4.2多物体碰撞
第17章 用户交互
17.1用户交互简介
17.2捕获物体
17.2.1什么是捕获物体
17.2.2捕获静止物体
17.2.3捕获运动物体
17.3拖拽物体
17.4抛掷物体
第18章 高级动画
18.1高级动画简介
18.2缓动动画简介
18.3缓动动画应用
18.4弹性动画简介
18.5弹性动画应用
第19章Canvas游戏开发
19.1 Canvas游戏开发简介
19.2 Box2D简介
19.2.1 Box2D
19.2.2 Box2DWeb
19.3 HTML5游戏引擎
第20章Canvas图表库
20.1 Canvas图表库简介
20.2 ECharts和HightCharts