绘制线段
moveTo(x,y)
x,y:线段的起点坐标
lineTo(x,y)
x,y:线段的终点坐标
cx.stroke();
lineWidth=number 线宽
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
window.onload=function(){
var canvas=document.querySelector('canvas');
var context=canvas.getContext('2d');
context.beginPath();
context.lineWidth=5;
context.strokeStyle = 'cyan';
context.moveTo(0,0);
context.lineTo(100,100);
context.lineTo(200,10);
context.lineTo(300,100);
context.closePath();
context.stroke();
}
</script>
</head>
<body>
<canvas width="400px" height="400px"></canvas>
</body>
</html>

变形
1.平移
translate(x,y)
x,y:将坐标原点平移单位
2.扩大(放大坐标)
scale(x,y)
x:代表的是水平方向上的放大倍数
y:代表的是垂直方向上的放大倍数(如果想要缩小,参数设置为0-1之间的值)
3.旋转
rotate(angle)
angle:旋转角度,旋转的中心点就是坐标轴的原点
默认按照顺时针进行旋转,想要进行逆时针旋转,角度设置为负数即可
4.保存和回滚
[save1,save2,save3]
save():将当前的绘画状态进行保存并存入状态栈
restore():该方法每次调用只会回滚到上一次save的状态
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>变形</title>
<script>
window.onload=function(){
var canvas=document.querySelector('canvas');
var context=canvas.getContext('2d');
context.save();
context.fillStyle = 'pink';
context.save();
context.fillRect(0,0,100,100);
context.translate(150,150);
context.fillStyle = 'tomato';
context.fillRect(0,0,100,100);
context.scale(0.5,0.5);
context.fillStyle = 'cyan';
context.fillRect(200,0,100,100);
context.rotate(Math.PI/4);
context.fillStyle = 'rgb(233, 37, 158)';
context.fillRect(300,300,100,100);
context.restore();
context.fillStyle = 'purple';
context.fillRect(150,0,100,100);
context.restore();
context.fillStyle = 'green';
context.fillRect(300,0,80,80);
}
</script>
</head>
<body>
<canvas width="500px" height="500px" style="background:#ccc"></canvas>
</body>
</html>
