亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        JS+Canvas繪制時(shí)鐘效果

        字號:


            這篇文章主要為大家詳細(xì)介紹了基于javascript下使用canvas繪制時(shí)鐘的具體實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
            本文實(shí)例為大家分享了使用canvas繪制時(shí)鐘的具體代碼,供大家參考,具體內(nèi)容如下
            代碼如下:
            1. clock.html    
            <!doctype html>
            <html lang="en">
             <head>
             <meta charset="UTF-8">
             <meta name="Description" content="">
             <title>canvas時(shí)鐘</title>
             </head>
             <body>
              <canvas id="canvas" width="300" height="300"></canvas>
              <script>
                var canvas=document.getElementById("canvas");
                var context=canvas.getContext('2d');
                //draw();
                function draw(){
                  //得到當(dāng)前系統(tǒng)的時(shí)分秒
                  var now=new Date();
                  var sec=now.getSeconds();
                  var min=now.getMinutes();
                  var hour=now.getHours();
                  hour>=12&&(hour=hour-12);
                  var radius = Math.min(canvas.width/2,canvas.height/2);
                  //初始化畫布
                  context.save();
                  context.clearRect(0,0,canvas.width,canvas.height);
                   context.translate(canvas.width/2,canvas.height/2); 
                  context.rotate(-Math.PI/2);
                  context.save();
                  //表框
                  //小時(shí)刻度
                  context.strokeStyle="black";
                  context.fillStyle="black";
                  context.lineWidth=3;
                  context.lineCap="round";
                  context.beginPath();
                  for(var i=0;i<12;i++){
                    context.rotate(Math.PI/6);
                    context.moveTo(radius-30,0);
                    context.lineTo(radius-10,0);
                  }
                  context.stroke();
                  context.restore();
                  context.save();
                  //分鐘刻度
                  context.lineWidth=2;
                  context.beginPath();
                  for(var i=0;i<60;i++){
                    if(!i%5==0){
                    context.moveTo(radius-15,0);
                    context.lineTo(radius-10,0);
                    }
                    context.rotate(Math.PI/30);
                  }
                  context.stroke();
                  context.restore();
                  context.save();
                  //畫上時(shí)針
                   context.rotate((Math.PI/6)*hour+(Math.PI/360)*min+(Math.PI/21600)*sec);
                   context.lineWidth=6;
                   context.beginPath();
                   context.moveTo(-10,0);
                   context.lineTo(radius*0.5,0);
                   context.stroke();
                  context.restore();
                  context.save();
                   context.rotate((Math.PI/30)*min+(Math.PI/1800)*sec);
               context.strokeStyle="#29A8DE";
               context.lineWidth=4;
               context.lineCap="butt";
               context.beginPath();
               context.moveTo(-20,0);
               context.lineTo(radius*0.7,0);
               context.stroke();
               context.restore();
               context.save();
               context.rotate(sec*Math.PI/30);
               context.strokeStyle="red";
               context.lineWidth=2;
               context.lineCap="butt";
               context.beginPath();
               context.moveTo(-30,0);
               context.lineTo(radius*0.9,0);
               context.stroke();
               context.restore();
               context.save();
                  context.lineWidth=4;
                   context.strokeStyle="gray";
                  context.beginPath();
                     context.arc(0,0,radius,0,Math.PI*2,true);
                 context.stroke();
                 context.restore();
                 context.restore();
                }
                window.onload=function(){
                  setInterval(draw,1000)
                }
              </script>
             </body>
            </html>
            2. JavaScript代碼
            <script>
                var canvas=document.getElementById("canvas");
                var context=canvas.getContext('2d');
                //draw();
                function draw(){
                  //得到當(dāng)前系統(tǒng)的時(shí)分秒
                  var now=new Date();
                  var sec=now.getSeconds();
                  var min=now.getMinutes();
                  var hour=now.getHours();
                  hour>=12&&(hour=hour-12);
                  var radius = Math.min(canvas.width/2,canvas.height/2);
                  //初始化畫布
                  context.save();
                  context.clearRect(0,0,canvas.width,canvas.height);
                   context.translate(canvas.width/2,canvas.height/2); 
                  context.rotate(-Math.PI/2);
                  context.save();
                  //表框
                  //小時(shí)刻度
                  context.strokeStyle="black";
                  context.fillStyle="black";
                  context.lineWidth=3;
                  context.lineCap="round";
                  context.beginPath();
                  for(var i=0;i<12;i++){
                    context.rotate(Math.PI/6);
                    context.moveTo(radius-30,0);
                    context.lineTo(radius-10,0);
                  }
                  context.stroke();
                  context.restore();
                  context.save();
                  //分鐘刻度
                  context.lineWidth=2;
                  context.beginPath();
                  for(var i=0;i<60;i++){
                    if(!i%5==0){
                    context.moveTo(radius-15,0);
                    context.lineTo(radius-10,0);
                    }
                    context.rotate(Math.PI/30);
                  }
                  context.stroke();
                  context.restore();
                  context.save();
                  //畫上時(shí)針
                   context.rotate((Math.PI/6)*hour+(Math.PI/360)*min+(Math.PI/21600)*sec);
                   context.lineWidth=6;
                   context.beginPath();
                   context.moveTo(-10,0);
                   context.lineTo(radius*0.5,0);
                   context.stroke();
                  context.restore();
                  context.save();
                   context.rotate((Math.PI/30)*min+(Math.PI/1800)*sec);
               context.strokeStyle="#29A8DE";
               context.lineWidth=4;
               context.lineCap="butt";
               context.beginPath();
               context.moveTo(-20,0);
               context.lineTo(radius*0.7,0);
               context.stroke();
               context.restore();
               context.save();
               context.rotate(sec*Math.PI/30);
               context.strokeStyle="red";
               context.lineWidth=2;
               context.lineCap="butt";
               context.beginPath();
               context.moveTo(-30,0);
               context.lineTo(radius*0.9,0);
               context.stroke();
               context.restore();
               context.save();
                  context.lineWidth=4;
                   context.strokeStyle="gray";
                  context.beginPath();
                     context.arc(0,0,radius,0,Math.PI*2,true);
                 context.stroke();
                 context.restore();
                 context.restore();
                }
                window.onload=function(){
                  setInterval(draw,1000)
                }
              </script>
            以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。