zoukankan      html  css  js  c++  java
  • 如何用canvas画布画旋转的五角星

    <!DOCTYPE html>  

    • <html>  
    • <head>  
    •     <title>旋转五角星</title>  
    •     <meta charset="utf-8">  
    • </head>  
    • <body>  
    • <canvas id="canvas" width="600" height="600"></canvas>  
    •     <script type="text/javascript">  
    •         var canvas = document.getElementById("canvas");  
    •         var context = canvas.getContext("2d");  
    •         //设置边框样式以及填充颜色  
    •         context.lineWidth = 1;  
    •         context.fillStyle = "red";  
    •         context.strokeStyle = "red";  
    •   
    •         /* @length: 边长,逐渐变大  
    •          * @offset: 偏移位置,逐渐变大  
    •          * @offsetX: 横轴额外偏移,根据角度计算  
    •          * @offsetY: 竖轴额外偏移,根据角度计算  
    •          * @degree: 旋转角度,每次变化18度  
    •          */   
    •         var length = 2,  
    •             offset = 8,  
    •             degree = 0;  
    •         var halfWidth = canvas.width / 2,  
    •             halfHeight = canvas.height / 2;  
    •         for (var num = 0; num 60; num++) {  
    •             length *= 1.05;  
    •             offset *= 1.06;  
    •             offsetX = offset * Math.cos(degree / 180 * Math.PI);  
    •             offsetY = offset * Math.sin(degree / 180 * Math.PI)  
    •             degree -= 18;  
    •   
    •             context.beginPath();  
    •             //设置是个顶点的坐标,根据顶点制定路径  
    •             for (var i = 0; i 5; i++) {  
    •                 context.lineTo(Math.cos((degree + i*  72) / 180 * Math.PI) * length + offsetX + halfWidth,  
    •                                 -Math.sin((degree + i * 72) / 180 * Math.PI) * length + offsetY + halfHeight);  
    •                 context.lineTo(Math.cos((degree + 36 + i * 72) / 180 * Math.PI) * length * 0.4 + offsetX  + halfWidth,  
    •                                 -Math.sin((degree + 36 + i * 72) / 180 * Math.PI) * length * 0.4 + offsetY + halfHeight);  
    •             }  
    •             context.closePath();  
    •             context.fill();  
    •             context.stroke();  
    •         }  
    •     </script>  
    • </body>  
    • </html>  

    转自blog.csdn.net/sysuzjz

  • 相关阅读:
    KMP
    图论知识,博客
    POJ 2318/2398 叉积性质
    CF821 E. Okabe and El Psy Kongroo 矩阵快速幂
    CF821 D. Okabe and City 图 最短路
    CF821 C. Okabe and Boxes 栈模拟
    CF821 A. Okabe and Future Gadget Laboratory 水
    Atcoder arc077 D
    Atcoder #017 agc017 D.Game on Tree 树上NIM 博弈
    Atcoder #017 agc017 B.Moderate Differences 思维
  • 原文地址:https://www.cnblogs.com/lwhvicky/p/7108051.html
Copyright © 2011-2022 走看看