
Html5提供的一个新标签,也叫画板或者画布。
<canvas></canvas>
<canvas width="300" height="300"></canvas>
// 1. 获取canvas标签
let canvas = document.querySelector('canvas')
// 2. 绘制上下文对象 (getContext方法)
// 参数说明: - 2d:获取2d上下文对象 - webgl:获取3d上下文对象
const ctx = canvas.getContext('2d')
// 3. 使用上下文对象的api进行绘图
// - 把鼠标移动到(100,100)位置
ctx.moveTo(100,100)
// - 连线
ctx.lineTo(200,200)
// - 描边绘制
ctx.stroke()ctx.moveTo(x,y);ctx.lineTo(x,y);ctx.stroke();ctx.fill();ctx.lineWidthlet canvas = document.querySelector('canvas')
const ctx = canvas.getContext('2d')
ctx.beginPath()
// 设置绘制起点
ctx.moveTo(100,100)
// 绘制直线
ctx.lineTo(200,100)
ctx.lineTo(200,200)
ctx.lineTo(100,200)
// 闭合路径
ctx.closePath()
// 描边
ctx.strokeStyle = 'blue'
ctx.lineWidth = 20
ctx.stroke()
// 填充
ctx.fillStyle = '#fff'
ctx.fill()rect() ctx.rect(x,y,width,height)ctx.strokeRect(x,y,width,height) ctx.fillRect(x,y,width,height) clearRect(x,y,width,height)let canvas = document.querySelector('canvas')
const ctx = canvas.getContext('2d')
ctx.strokeRect(100,100,200,200) // 在(100,100)的地方绘制一个宽高都是200的矩形
ctx.fillStyle = '#a19'
ctx.fillRect(300,300,200,100) //在(300,300)的地方填充一个宽200高100的矩形
ctx.clearRect(300,300,50,50) // 在(300,300) 的地方擦除宽高都为50的矩形ctx.drawImage(img,x,y) ctx.drawImage(img,x,y,sWidth,sHeight) ctx.drawImage(img,x,y,sWidth,sHeight,x,y,width,height)