html5 canvas 画时钟
admin
2023-01-30 02:24:23
0







    // get the canvas
    var myCanvas = document.getElementById("myCanvas");
    var ctx = myCanvas.getContext("2d");

    function showClock(){
        ctx.save();
        ctx.save();
        ctx.save();
        ctx.save();
        ctx.save();
        ctx.save();
        ctx.save();
        ctx.clearRect(0,0,400,400);

        // create the clock border
        ctx.restore();
        ctx.beginPath();
        ctx.strokeStyle="pink";
        ctx.lineWidth=10;
        ctx.arc(200,200,150,0,Math.PI*2,true);
        ctx.stroke();


        // create the hour icon
        ctx.restore();
        ctx.lineWidth=8;
        ctx.strokeStyle="blue";
        ctx.translate(200,200);
        for(var i=0;i<12;i++){
          ctx.beginPath();      
          ctx.moveTo(135,0);
          ctx.lineTo(150,0);
          ctx.rotate(Math.PI/6);
          ctx.stroke();
        }

        // create the minute icon
        ctx.restore();
        ctx.lineWidth=4;
        ctx.strokeStyle="blue";
        ctx.translate(200,200);
        for(var i=0;i<60;i++){
          ctx.beginPath();      
          ctx.moveTo(145,0);
          ctx.lineTo(150,0);
          ctx.rotate(Math.PI/30);
          ctx.stroke();
        }

        var date = new Date();
        var hour = date.getHours();
        var minute = date.getMinutes();
        var second = date.getSeconds();
        hour = hour>=12?hour-12:hour;
        
        // create the hour hand
        ctx.restore();
        ctx.lineWidth = 14;
        ctx.strokeStyle="pink";
        ctx.translate(200,200);
        ctx.rotate(hour*(Math.PI/6) + (Math.PI/360)*minute + (Math.PI/21600)*second-Math.PI/2);
        ctx.beginPath();      
        ctx.moveTo(-20,0);
        ctx.lineTo(90,0);     
        ctx.stroke();
       

        // create the minute hand
        ctx.restore();
        ctx.lineWidth = 10;
        ctx.strokeStyle="pink";
        ctx.translate(200,200);
        ctx.rotate((Math.PI/30)*minute + (Math.PI/1800)*second-Math.PI/2);
        ctx.beginPath();      
        ctx.moveTo(-30,0);
        ctx.lineTo(125,0);     
        ctx.stroke();

        // create the second hand
        ctx.restore();
        ctx.lineWidth = 4;
        ctx.strokeStyle="pink";
        ctx.translate(200,200);
        ctx.rotate( (Math.PI/30)*second-Math.PI/2);
        ctx.beginPath();      
        ctx.moveTo(-35,0);
        ctx.lineTo(135,0);     
        ctx.stroke();

        ctx.restore();
        setTimeout(showClock,1000);
    }

showClock();



上一篇:html5 SVG 涂鸦

下一篇:html5 canvas 涂鸦

相关内容

热门资讯

玩家攻略科普“新蜜瓜拼十.有挂... 有 亲,根据资深记者爆料新蜜瓜拼十是可以开挂的,确实有挂(咨询软件无需打...
玩家最新攻略“九酷众娱炸金花.... 有 亲,根据资深记者爆料九酷众娱炸金花是可以开挂的,确实有挂(咨询软件无...
重磅消息“游游棋牌.有没有挂?... 重磅消息“游游棋牌.有没有挂?”太坑了原来有挂您好,游游棋牌这个游戏其实有挂的,确实是有挂的,需要了...
今日重大消息“赫麒众游.怎么装... 网上科普关于“赫麒众游有没有挂”话题很是火热,小编也是针对赫麒众游作*弊开挂的方法以及开挂对应的知识...
重磅消息“渤海麻将.到底有挂吗... 网上科普关于“渤海麻将有没有挂”话题很是火热,小编也是针对渤海麻将作*弊开挂的方法以及开挂对应的知识...
今日重大通报“摇钱树拼三张.有... 有 亲,根据资深记者爆料摇钱树拼三张是可以开挂的,确实有挂(咨询软件无需...
【第一资讯】“全民竞技.开挂器... 【第一资讯】“全民竞技.开挂器?”外卦神器下载您好,全民竞技这个游戏其实有挂的,确实是有挂的,需要了...
玩家最新攻略“天天微友炸金花.... 您好:天天微友炸金花这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这...
终于懂了“欢乐斗地主.怎么装挂... 您好:欢乐斗地主这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
玩家攻略科普“同城游贵阳捉鸡麻... 家人们!今天小编来为大家解答同城游贵阳捉鸡麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂...