Canvas学习笔记。
什么是Canvas?
步骤
绘制简单图形
直线
绘制直线的样式
矩形
绘制矩形(边框)
绘制并填充
清除矩形
或者填充为其他颜色。
三角形
圆形
圆心x、y坐标,半径,始、末角度,方向(默认false,顺时针,可不写)
角度,Math.PI = 180度,2*Math.PI = 360度。
绘制贝塞尔曲线
二次贝塞尔曲线:quadraticCurveTo(控制点x坐标,控制点y坐标,终点x坐标,终点y坐标)
1 |
var pen8 = document.querySelector('#myCanvas8').getContext('2d'); |
三次贝塞尔曲线:bezierCurveTo(控制点1x坐标,控制点1y坐标,控制点2x坐标,控制点2y坐标,终点x坐标,终点y坐标)
。
1 |
pen9.moveTo(0,100); |
还有四次、五次。。。
绘制文本
绘制图片
第一个用法,绘制的图片是原始大小。
第二个用法,可以设置宽高。
第三个用法,可以扣取图片的某一部分出来。s原图片中要扣取的坐标,d在画布中的绘制坐标。(x、y、宽、高)
图像裁剪
图像平铺
坐标变换
整个坐标系进行变换后(translate-改变原点、scale-缩放、rotate-旋转),不可逆(即使beginPath),要想恢复需要提前保存状态。
- save-保存当前画布状态;
- restore-恢复 最近一次的画布保存状态
更改坐标原点,translate(x,y)
1 |
var pen11 = document.querySelector('#myCanvas11').getContext('2d'); |
渐变
线性渐变
createLinearGradient(开始坐标x、y,结束坐标x、y)
addColorStop添加渐变的颜色,0到1之间。
1 |
var pen = document.querySelector('#mycanvas1').getContext('2d'); |
径向渐变
圆形1圆心x、y,圆形1半径,圆形2圆心x、y,圆形2半径
1 |
// 径向渐变 |