Html5Canvas笔记整理,接part1篇!!
绘制图形不仅仅是利用线条来实现绘图, 还可以有快捷的绘制图形的办法!
- 绘制矩形
- 绘制圆弧
- 绘制文本
- 绘制图片
- 绘制动画
绘制矩形
- strokeRect();
1 | strokeRect(x, y, w, h) |
x, x坐标y, y坐标w, 矩形宽h, 矩形高
功能:绘制一个矩形路径,并描边
- 用来绘制一个矩形. 比起直接使用
moveTo和lineTo方法要简单许多. - 该方法的前两个参数表示绘制矩形的左上角的坐标. 后两个参数表示这个矩形的宽高.
- 使用该方法不需要使用
moveTo方法设置起始点, 也不需要调用stroke等绘画方法. - 绘制的矩形支持
strokeStyle设置颜色样式.
1 | ctx.strokeStyle = 'red'; |
- fillRect();
1 | fillRect(x, y, w, h) |
x, x坐标y, y坐标w, 矩形宽h, 矩形高
功能:绘制一个矩形路径,并填充
- 用来绘制一个矩形. 比起直接使用
moveTo和lineTo方法要简单许多. - 该方法的前两个参数表示绘制矩形的左上角的坐标. 后两个参数表示这个矩形的宽高.
- 使用该方法不需要使用
moveTo方法设置起始点, 也不需要调用stroke等绘画方法. - 绘制的矩形支持
fillStyle设置颜色样式.
1 | ctx.fillStyle = 'green'; |
- rect();
1 | rect(x, y, w, h) |
x, x坐标y, y坐标w, 矩形宽h, 矩形高
功能:绘制一个矩形路径,不描边
- clearRect();
1 | clearRect(x, y, w, h) |
x, x坐标y, y坐标w, 矩形宽h, 矩形高
功能:清除指定的矩形区域
- 用于清除画布中的矩形区域的内容.
- 参数
x,y表示矩形区域左上角的坐标,width与height表示矩形区域的宽高.
1 | ctx.fillRect( 100, 100, 200, 100 ); |
- save restore
save 保存当前的路径状态
restore 恢复上一次保存的路径状态(restore是与之对应的,先save的,后被restore)
1 | var x = 10, y = 10, oldx = 10, oldy = 10; |
绘制圆弧
1 | arc(x, y, r, startAngle, endAngle, anticlockwise) |
x,y圆心坐标r圆的半径startAngle起始角度(弧度表示)endAngle结束角度(弧度表示)anticlockwise是否逆时针绘制,注意找角的时候还是顺时针找
注意事项,每次画完弧之后,都会保存点,下次绘图会从该点开始
1 | // 在 200, 200 的地方绘制一段半径为 100 的圆弧, 圆心角为 - PI / 2 到 PI / 4 |
绘制扇形
先 moveTo 圆心,然后画弧 ,然后 closePath 弧就有了
1 | ctx.strokeStyle = 'red'; |
绘制扇形动画
绘制扇形动画, 就是每隔几毫秒( 20 毫秒)擦除以前绘制的内容, 然后在以前绘制的基础上比以前多绘制一点东西. 这里多绘制的内容就是由角度决定. 比如一开始角度从 -Math.PI / 2 开始绘制. 那么每次角度都 +0.1 , 直到 绘制到 Math.PI * 3 / 2 为止.
1 | ctx.fillStyle = 'green'; |
绘制饼形图
等分的饼图,饼图的起始位置在 `-90°` .
绘制饼形图最大的特点是角度是叠加的. 开始从 -Math.PI/2 开始绘制, 达到执行角 x 后, 下一个区域从 x 开始绘制, 然后有到一个角 y 停下来. 如此反复到 Math.PI * 3 / 2 结束.
1 | var x = 200, y = 200, |