1.会使用的函数
1)beginPath()新建一条路径,生成后,图形绘制命令被指向路径上生成路径
2)closePath()闭合路径后图形绘制命令重新指向到上下文
3)stroke()通过线条来绘制图形轮廓
4)fill()通过填充路径的内容区域生成实心的图形
5)arc(x,y,radius,startAngle,endAngle,anticlockwise)以(x,y)为圆心以radius为半径的圆弧,从startAngle开始到endAngle结束,按照anticlockwise给定的方向(默认为顺时针)来生成。
6)arcTo(x1,y1,x2,y2,radius)根据给定的控制点和半径画一段圆弧,以直线连接两个控制点
7)quadraticCurveTo(cp1x,cp1y,x,y)绘制二次贝塞尔曲线,cp1x、cp1y为控制点一,x、y为结束点
8)bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)绘制三次贝塞尔曲线,cp1x、cp1y为控制点一,cp2x、cp2y为控制点二,x、y为结束点
Path2D对象:
1)new Path2D()空的path对象
2)new Path2D(path) 克隆path对象
3)new Path2D(d) 从SVG建立Path对象
2.绘制的步骤
1)创建路径起始点
2)画路径
3)封闭路径
4)路径生成,通过描边或填充区域来渲染图形
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>day2-1</title>
<style type="text/css">
canvas{border:1px solid black;}
</style>
</head>
<body onload="draw()">
<canvas id="tutorial" width="150" height="150">
</canvas>
<script type="text/javascript">
function draw(){
var canvas = document.getElementById('tutorial')
if(canvas.getContext){//判断浏览器是否支持getContext属性
var ctx = canvas.getContext('2d')
ctx.beginPath();
ctx.moveTo(25, 25);
ctx.lineTo(105,25);
ctx.lineTo(25,125);
ctx.fill();
ctx.beginPath();
ctx.moveTo(125, 125);
ctx.lineTo(125,45);
ctx.lineTo(45,125);
ctx.closePath();
ctx.stroke();
}else{}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta ch