1 webGL学习地址:

使用canvas绘图 - 图1
使用canvas绘图 - 图2
使用canvas绘图 - 图3

2 基本用法

元素,必须先设置width和height属性
标签中的信息是后备信息,如果浏览器不支持就会显示这些信息。
示例:
使用canvas绘图 - 图4
使用canvas绘图 - 图5

3 getContext()

调用getContext()方法获取绘图对象;
使用canvas绘图 - 图6

4 2D上下文

5 填充和描边

原点坐标(0,0)左上角(x,y)。X值越大越靠右,y值越大越靠下。
2D上下文两种基本绘图操作:填充和描边。
填充:就是用指定的样式(颜色、渐变或图像)填充图形;
描边:就是只在图形的边缘画线。
大多数2d上下文操作都会细分为填充和描边两个操作,而操作的结果取决于两个属性:fillStyle和strokeStyle。
css中指定颜色值的任何格式,包括颜色名、十六进制码、rgb、rgba、hsl或hsla。

使用canvas绘图 - 图7

6 绘制矩形

矩形是唯一 一种可以直接在2D上下文中绘制的形状。与矩形有关的方法:fillRect()、strokeRect()、clearRect()。这三个方法都接收4个参数:矩形的X坐标、矩形的y坐标、矩形宽度和矩形高度。这些参数的单位都是像素。

7 fillRect()

使用canvas绘图 - 图8
书中例子:
使用canvas绘图 - 图9

8 strokeRect()

使用canvas绘图 - 图10

使用canvas绘图 - 图11

使用canvas绘图 - 图12

9 clearRect()

使用canvas绘图 - 图13
使用canvas绘图 - 图14
使用canvas绘图 - 图15 使用canvas绘图 - 图16

10 绘制路径

使用canvas绘图 - 图17
使用canvas绘图 - 图18
示例代码:
使用canvas绘图 - 图19
使用canvas绘图 - 图20

11 绘制文本

使用canvas绘图 - 图21
代码:
使用canvas绘图 - 图22
代码2:
使用canvas绘图 - 图23
使用canvas绘图 - 图24
使用canvas绘图 - 图25
使用canvas绘图 - 图26

12 变化

使用canvas绘图 - 图27

13 绘制图像

使用canvas绘图 - 图28
使用canvas绘图 - 图29
使用canvas绘图 - 图30
使用canvas绘图 - 图31

14 阴影

使用canvas绘图 - 图32示例代码:
使用canvas绘图 - 图33

15 渐变

16 线性渐变

canvas元素.createLinearGradient();
4个参数:起点的X坐标、起点的Y坐标、终点的X坐标、终点的Y坐标。
创建渐变对象后,使用addColorStop()方法指定色标。
使用canvas绘图 - 图34
使用canvas绘图 - 图35
使用canvas绘图 - 图36
使用canvas绘图 - 图37

17 径向渐变

canvas元素.createRadialGradient();
6个参数对应着两个圆的圆心和半径:前三个参数指定的是起点圆的原心(x和y)及半径,后三个参数值定的是终点圆的原心(x和y)及半径。
使用canvas绘图 - 图38
参考代码:
使用canvas绘图 - 图39

18 模式,重复图像

createPattern()方法2个参数:一个HTML使用canvas绘图 - 图40元素和一个表示如何重复图像的字符串。其中,第二个参数的值与CSS的background-repeat属性值相同,包括“repeat”、repeat-x、repeat-y、no-repeat。
使用canvas绘图 - 图41
使用canvas绘图 - 图42

19 使用图像数据

使用canvas绘图 - 图43
使用canvas绘图 - 图44
代码:
使用canvas绘图 - 图45
使用canvas绘图 - 图46
使用canvas绘图 - 图47

20 合成

使用canvas绘图 - 图48
例子:
使用canvas绘图 - 图49
使用canvas绘图 - 图50
使用canvas绘图 - 图51
使用canvas绘图 - 图52

21 WEBGL(canvas3D)

使用canvas绘图 - 图53

22 类型化数组

使用canvas绘图 - 图54
使用canvas绘图 - 图55
未学习完WEBGL