zoukankan      html  css  js  c++  java
  • canvas 实现规则多边形

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <canvas id="mycanvas" width="1000" height="1000"></canvas>
    </head>
    <body>
    </body>
    <script>
    var c = document.getElementById('mycanvas');
    var ctx = c.getContext("2d");
    /*直接画三角形*/
    var deg = Math.PI*2/360;

    /*function trans(c,x,y,r) {
    c.translate(x,y);
    c.moveTo(0,0);
    c.lineTo(r,0);
    c.rotate(-60*deg);
    c.lineTo(r,0);
    //c.closePath();
    c.strokeStyle = "blue";
    c.stroke();

    //c.fillStyle = "#333";
    //c.fill();
    }*/
    //trans(ctx,300,300,150);


    //这个函数就是画多个规则多边形
    function polygon(c,n,x,y,r,angle) {
    //debugger;
    angle = angle || 0;
    //counterclockwise = counterclockwise ||false;
    c.translate(x,y); //把中心点移到(0,0)
    c.moveTo(0,0);
    var delta = 2*Math.PI/n; //外角的度数
    for(var i=0;i<n-1;i++){
    c.lineTo(r,0); //首先画一条水平直线
    c.translate(r,0); //平移坐标
    angle = -delta;
    c.rotate(angle); //旋转坐标
    }
    c.closePath();
    c.fillStyle='#333';
    c.stroke();
    c.fill();
    }
    //ctx.beginPath();
    polygon(ctx,3,500,500,100);
        polygon(ctx,4,500,500,100);

    </script>
    </html>




  • 相关阅读:
    使用 Vim 搭建 JavaScript 开发环境
    SpaceVim 语言模块 erlang
    SpaceVim 语言模块 lua
    SpaceVim 语言模块 python
    SpaceVim 语言模块 elixir
    SpaceVim 语言模块 dart
    SpaceVim 语言模块 elm
    如何配置 SpaceVim
    彻底理解浏览器缓存机制
    react-创建react元素
  • 原文地址:https://www.cnblogs.com/huqinqin/p/7520718.html
Copyright © 2011-2022 走看看