canvas多个图形旋转动画效果代码
代码语言:html
所属分类:动画
代码描述:canvas多个图形旋转动画效果代码,点击鼠标可切换图形。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { height: 100vh; overflow: hidden; background: plum; } #canvas { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); cursor: pointer; } </style> </head> <bod> <canvas id="canvas"></canvas> <script> const { min, max, PI: π } = Math; const query = document.querySelector.bind(document); const clamp = (minValue, maxValue, desired) => { return min(max(desired, minValue), maxValue); }; const canvas = query('#canvas'); const ctx = canvas.getContext('2d'); const settings = { get width() { return clamp(400, 1800, window.innerWidth); }, get height() { return clamp(300, 1200, window.innerHeight); }, bg: 'plum', fg: 'aquamarine', mode: 5 }; const resize = () => { const { width, height } = settings; canvas.width = width; canvas.height = height; }; const drawBackground = () => { const { width, height, bg } = settings; ctx.fillStyle = bg; ctx.fillRect(0, 0, width, height); }; const drawArc = (radius, startAngle = π * .75, endAngle = π * 2.25) => { const { fg } = settings; const x = 0; const y = 0; ctx.lineCap = 'round'; ctx.beginPath(); ctx.strokeStyle = fg; ctx.arc(x, y, radius, startAngle, endAngle); ctx.stro.........完整代码请登录后点击上方下载按钮下载查看
网友评论0