注释很详细,直接上代码
新增内容:
1. canvas的两种创建方式及优劣
2. canvas宽高设置及注意事项
3. 简单测例
项目结构:
源码:
index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<style>*{margin: 0;padding: 0;}
</style>
<body><!-- 手动创建画布,需要以属性的方式设置宽高 --><canvas id="myCanvas" width="500" height="400"></canvas>
</body>
<script src="./js/canvas.js"></script>
</html>
canvas.js
/*** 对手动创建的画布的操作,因为是以节点创建,不被识别为画布对象,所以没代码提示*///获取画布myCanvas
var myCanvas = document.getElementById("myCanvas");//获取画笔对象
var myPen = myCanvas.getContext("2d");//设置画笔颜色
myPen.fillStyle = "red";//画一个矩形,fillRect(x,y,width,height),参数是左上角坐标和宽高
myPen.fillRect(20,20,100,100);/*** 使用js创建画布,再添加到页面中,这样就可以识别为画布对象,有更多代码提示*///创建画布
var myCanvasByJs = document.createElement("canvas");//设置画布宽高
//canvas为了能正常显示,需要用属性设置宽高,而不能用样式设置
myCanvasByJs.width = 500;
myCanvasByJs.height = 400;//将画布添加到页面中
document.body.append(myCanvasByJs);//获取画笔对象
var myPenByJs = myCanvasByJs.getContext("2d");//设置画笔颜色
myPenByJs.fillStyle = "blue";//开始路径
myPenByJs.beginPath();//绘制圆
myPenByJs.arc(200,200,100,0,2*Math.PI);//填充颜色
myPenByJs.fill();
效果演示: