27
2023
08

前端训练营——JavaScript课件:六:canvas

canvas元素可被用来通过JavaScript(Canvas API 或 WebGL API)绘制图形及图形动画,也就是说canvas标签只是一个图形容器。canvas可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。

<!DOCTYPE html><html lang="en"><head>     <meta charset="UTF-8">     
<meta http-equiv="X-UA-Compatible" content="IE=edge">    
 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
 <title>Document</title></head><body>
 <canvas id="canvas"></canvas></body>
 <script>     let canvas = document.querySelector('#canvas')  
   let ctx = canvas.getContext('2d')     canvas.width = 500  
      canvas.height = 500     ctx.save()     ctx.beginPath()    // 将坐标移动到画布中央
           ctx.translate(canvas.width / 2, canvas.height / 2)    // 设置大圆、小圆半径
                let R = 200     let r = 100     let x    let y    // 逆时针计算五角星外围10个点的坐标
                     for (let i = 0; i < 5; i++) {        // 外围凸出的每个点坐标
                     x = Math.cos((18 + 72 * i) / 180 * Math.PI) * R
                     y = - Math.sin((18 + 72 * i) / 180 * Math.PI) * R // canvas中y轴的正向方向与直角坐标系相反
                     ctx.lineTo(x, y)        // 外围凹下去的每个点坐标
                     x = Math.cos((54 + 72 * i) / 180 * Math.PI) * r
                     y = - Math.sin((54 + 72 * i) / 180 * Math.PI) * r // canvas中y轴的正向方向与直角坐标系相反
                     ctx.lineTo(x, y)     }     ctx.closePath()     ctx.stroke()     ctx.restore()
                 </script>
</html>

image



« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。