基本介紹
- 中文名:HTML5 Canvas開發詳解:Web前端開發精品課
- 作者:莫振傑
- 出版時間:2020年1月
- 出版社:人民郵電出版社
- 頁數:338 頁
- ISBN:9787115450203
- 定價:79 元
- 開本:16 開
- 裝幀:平裝
內容簡介,圖書目錄,
內容簡介
全書共分為兩大部分,首部分是Canvas基礎內容,主要學習Canvas API語法,其中包括圖形繪製、線條操作、文本操作、圖片操作、變形操作、像素操作等各種基礎API。第 二部分是Canvas進階內容,主要學習Canvas動畫開發,包括事件操作、物理動畫、邊界檢測、碰撞檢測、**動畫等各種稀有技巧。
除了知識的講解,教程還融入了大量的開發案例,並且更加注重實戰編程思維的培養,為學習者提供一個流暢的學習思路。
圖書目錄
第 一部分 Canvas基礎
第 1章 Canvas概述
1.1 Canvas簡介 1
1.1.1 Canvas是什麼 1
1.1.2 Canvas與SVG 2
1.2 Canvas元素知識 3
1.2.1 Canvas元素 4
1.2.2 Canvas對象 5
第 2章 直線圖形
2.1 直線圖形簡介 8
2.2 直線 8
2.2.1 Canvas坐標系 8
2.2.2 直線的繪製 9
2.3 矩形 14
2.3.1 “描邊”矩形 15
2.3.2 “填充”矩形 17
2.3.3 rect()方法 20
2.3.4 清空矩形 22
2.4 多邊形 25
2.4.1 Canvas繪製箭頭 25
2.4.2 Canvas繪製正多邊形 26
2.4.3 五角星 29
2.5 訓練題:繪製調色板 31
第3章 曲線圖形
3.1 曲線圖形簡介 34
3.2 圓形簡介 34
3.2.1 圓形 34
3.2.2 “描邊”圓 35
3.2.3 “填充”圓 38
3.3 弧線 39
3.3.1 arc()畫弧線 39
3.3.2 arcTo()畫弧線 42
3.4 二次貝塞爾曲線 47
3.5 三次貝塞爾曲線 50
3.6 訓練題:繪製扇形 53
第4章 線條操 作
4.1 線條操作 57
4.2 lineWidth屬性 58
4.3 lineCap屬性 60
4.4 lineJoin屬性 63
4.5 setLineDash()方法 65
第5章 文本操作
5.1 文本操作簡介 67
5.2 文本操作“方法” 68
5.2.1 strokeText()方法 68
5.2.2 fillText()方法 69
5.2.3 measureText()方法 71
5.3 文本操作“屬性” 73
5.3.1 font屬性 73
5.3.2 textAlign屬性 74
5.3.3 textBaseline屬性 76
第6章 圖片操作
6.1 圖片操作簡介 79
6.2 繪製圖片 79
6.2.1 drawImage(image , dx , dy) 80
6.2.2 drawImage(image , dx , dy ,dw , dh) 83
6.2.3 drawImage(image , sx , sy ,sw ,sh, dx , dy , dw , dh) 84
6.3 平鋪圖片 86
6.4 切割圖片 89
6.5 深入圖片操作 92
第7章 變形操作
7.1 變形操作簡介 95
7.2 圖形平移 96
7.2.1 translate()方法 96
7.2.2 clearRect()方法清空
Canvas 99
7.3 圖形縮放 100
7.3.1 scale()方法 100
7.3.2 scale()方法的負作用 103
7.4 圖形旋轉 105
7.4.1 rotate()方法 105
7.4.2 改變旋轉中心 108
7.5 變換矩陣 109
7.5.1 transform()方法 109
7.5.2 setTransform()方法 114
7.6 深入變形操作 116
7.7 訓練題:繪製絢麗的圖形 117
7.8 訓練題:繪製彩虹 119
第8章 像素操作
8.1 像素操作簡介 121
8.1.1 getImageData()方法 121
8.1.2 putImageData()方法 122
8.2 反轉效果 123
8.3 黑白效果 126
8.4 亮度效果 130
8.5 復古效果 131
8.6 紅色蒙版 133
8.7 透明處理 136
8.8 createImageData()方法 137
第9章 漸變與陰影
9.1 線性漸變 141
9.2 徑向漸變 145
9.3 陰影 150
第 10章 Canvas路徑
10.1 路徑簡介 156
10.2 beginPath()方法和
closePath()方法 156
10.2.1 beginPath()方法 157
10.2.2 closePath()方法 160
10.3 isPointInPath()方法 165
第 11章 Canvas狀態
11.1 狀態簡介 168
11.2 clip()方法 168
11.3 save()方法和restore()方法 171
11.3.1 圖形或圖片剪下 172
11.3.2 圖形或圖片變形 174
11.3.3 狀態屬性的改變 176
第 12章 其他套用
12.1 Canvas對象 178
12.1.1 Canvas對象屬性 178
12.1.2 Canvas對象方法 180
12.2 globalAlpha屬性 182
12.3 globalCompositeOperation
屬性 183
12.4 stroke()和fill() 187
第 二部分 Canvas進階
第 13章 事件操作
13.1 Canvas動畫簡介 191
13.2 滑鼠事件 192
13.2.1 什麼是滑鼠事件 192
13.2.2 獲取滑鼠位置 192
13.3 鍵盤事件 195
13.3.1 什麼是鍵盤事件 195
13.3.2 獲取物體移動方向 195
13.4 循環事件 199
第 14章 物理動畫
14.1 物理動畫簡介 202
14.2 三角函式簡介 203
14.2.1 什麼是三角函式 203
14.2.2 Math.atan()與Math.
atan2() 204
14.3 三角函式套用 210
14.3.1 兩點間的距離 210
14.3.2 圓周運動 212
14.3.3 波形運動 217
14.4 勻速運動 222
14.4.1 什麼是勻速運動 222
14.4.2 速度的合成和分解 224
14.5 加速運動 227
14.5.1 什麼是加速運動 227
14.5.2 加速度的合成和分解 231
14.6 重力 233
14.6.1 什麼是重力 233
14.6.2 重力的套用 235
14.7 摩擦力 238
第 15章 邊界檢測
15.1 邊界檢測簡介 241
15.2 邊界限制 242
15.3 邊界環繞 245
15.4 邊界生成 250
15.5 邊界反彈 256
第 16章 碰撞檢測
16.1 碰撞檢測簡介 262
16.2 外接矩形判定法 262
16.3 外接圓判定法 271
16.4 多物體碰撞 275
16.4.1 排列組合 275
16.4.2 多物體碰撞 275
第 17章 用戶互動
17.1 用戶互動簡介 283
17.2 捕獲物體 284
17.2.1 什麼是捕獲物體 284
17.2.2 捕獲靜止物體 285
17.2.3 捕獲運動物體 287
17.3 拖拽物體 291
17.4 拋擲物體 297
第 18章 **動畫
18.1 **動畫簡介 306
18.2 緩動動畫簡介 306
18.3 緩動動畫套用 313
18.4 彈性動畫簡介 317
18.5 彈性動畫套用 323
第 19章 Canvas遊戲開發
19.1 Canvas遊戲開發簡介 327
19.2 Box2D簡介 328
19.2.1 Box2D 328
19.2.2 Box2DWeb 328
19.3 HTML5遊戲引擎 331
第 20章 Canvas圖表庫
20.1 Canvas圖表庫簡介 334
20.2 ECharts和HightCharts 336