let canvas = document.getElementById("canvas")
let ctx = canvas.getContext("2d")
ctx.rect(100,100,200,100)
ctx.stroke()
ctz.strokeRect()
ctx.fillStyle = "orange"
ctx.fillStyle = "rgb(255,165,0)"
ctx.fillRect(300,100,200,100)
ctx.clearRect(100,100,200,100)
ctx.beginPath()
ctx.moveTo(100,100)
ctx.lineTo(300,100)
ctx.lineTo(300,300)
ctx.closePath()
ctx.drawImage(img,x,y)
ctx.drawImage(img,x,y,width,height)
ctx.arc(x,y,radius,startAngle,endAngle,anticlockwise)
for(let i =0;i<12;i++){
ctx.beginPath()
let x = 25+i*50
let y = 25
let radius = 20
let startAngle = 0;
let endAngel = Math.PI+(Math.pi*i)/12
ctx.arc(x,y,radius,startAngle,endAngle)
ctx.fill()
ctx.closePath()
}
ctx.quadraticCurveTo(cp1x,cp1y,x,y)
ctx.beginPath()
ctx.moveTo(75,25)
ctx.quadraticCurveTo(25,25,25,62.5)
ctx.quadraticCurveTo(25, 100, 50, 100)
ctx.quadraticCurveTo(50, 120, 30, 125)
ctx.quadraticCurveTo(60, 120, 65, 100)
ctx.quadraticCurveTo(125, 100, 125, 62.5)
ctx.quadraticCurveTo(125, 25, 75, 25)
ctx.stroke()
for(let i = 0;i<10;i++){
ctx.beginPath()
ctx.lineWidth = i+1
ctx.moveTo(5+i*14,5)
ctx.lineTo(5+i*14,140)
ctx.stroke()
ctx.closePath()
}
let offset = 0
function draw(){
ctx.clearRect(0,0,canvas.width,canvas.height)
ctx.setLineDash([4,4,12,4])
ctx.lineDashOffset = offset
ctx.strokeRect(20,20,150,150)
}
function march(){
offset++
if(offset>24){
offset = 0;
}
draw()
setTimeout(march,20)
}
march()
ctx.shadowOffsetX = 10
ctx.shadowOffsetY = 10
ctx.shadowBlur = 10
ctx.shadowColor = "rgba(23,23,23,0.5)"
ctx.fillRect(20,20,150,150)
ctx.fillText(text,x,y,[,maxWidth])
ctx.strokeText(text,x,y,[,maxWidth])
ctx.font = "bold 48px serif"
ctx.textAlign = "left"||"right"||"center"||"start"||"end"
let img = new Image()
img.onload = function(){}
img.src = "XXX.png"