• 用canvas做一个钟表


     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <style>
     7             body{background: #000;}
     8             #ca{background:#999}
     9         </style>
    10         <script>
    11             window.onload=function(){
    12                 var oc=document.getElementById("ca");
    13                 var pa=oc.getContext('2d');
    14                 function toDraw(){
    15                     x=200;
    16                     y=200;
    17                     r=150;
    18                     pa.clearRect(0,0,oc.width,oc.height);
    19                     var pDate=new Date();
    20                     var pHours=pDate.getHours();
    21                     var pMin=pDate.getMinutes();
    22                     var pSec=pDate.getSeconds();
    23                     var pHoursValue=(-90+pHours*30+pMin/2)*Math.PI/180;
    24                     var pMinValue=(-90+pMin*6)*Math.PI/180;
    25                     var pSecValue=(-90+pSec*6)*Math.PI/180;
    26                     
    27                     /*分刻度*/
    28                     pa.beginPath();
    29                     for(i=0;i<60;i++){
    30                     pa.moveTo(x,y);
    31                     pa.arc(x,y,r,6*i*Math.PI/180,6*(i+1)*Math.PI/180,false);    
    32                     }
    33                     
    34                     pa.closePath();
    35                     pa.stroke();
    36                     pa.fillStyle='white';
    37                     /*外圆盘,遮住中间的分刻度*/
    38                     pa.beginPath();
    39                     pa.moveTo(x,y);
    40                     pa.arc(x,y,r*19/20,0,360*Math.PI/180,false);
    41                     pa.closePath();
    42                     pa.fill();
    43                     /*时刻度*/
    44                     pa.lineWidth=3;
    45                     pa.beginPath();
    46                     for(i=0;i<12;i++){
    47                     pa.moveTo(x,y);
    48                     pa.arc(x,y,r,30*i*Math.PI/180,30*(i+1)*Math.PI/180,false);    
    49                     }
    50                     
    51                     pa.closePath();
    52                     pa.stroke();
    53                     /*内圆盘*/
    54                     pa.beginPath();
    55                     pa.moveTo(x,y);
    56                     pa.arc(x,y,r*18/20,0,360*Math.PI/180,false);
    57                     pa.closePath();
    58                     pa.fill();
    59                     /*时针*/
    60                     pa.lineWidth=5;
    61                     pa.beginPath();
    62                     pa.moveTo(x,y);
    63                     pa.arc(x,y,r*10/20,pHoursValue,pHoursValue,false)
    64                     pa.closePath();
    65                     pa.stroke();
    66                     /*分针*/
    67                     pa.lineWidth=3;
    68                     pa.beginPath();
    69                     pa.moveTo(x,y);
    70                     pa.arc(x,y,r*14/20,pMinValue,pMinValue,false)
    71                     pa.closePath();
    72                     pa.stroke();
    73                     /*秒针*/
    74                     pa.lineWidth=1;
    75                     pa.beginPath();
    76                     pa.moveTo(x,y);
    77                     pa.arc(x,y,r*19/20,pSecValue,pSecValue,false)
    78                     pa.closePath();
    79                     pa.stroke();
    80                     
    81                     
    82                     
    83                 }
    84                 setInterval(toDraw,1000);
    85                 toDraw();
    86                 
    87                 
    88                 
    89                 
    90             
    91             };
    92         </script>
    93         
    94     </head>
    95     <body>
    96         <canvas id="ca" width="400px" height="400px"></canvas>
    97         
    98     </body>
    99 </html>

    效果如下:

     

  • 相关阅读:
    Java的接口及实例
    卷积函数的参数为Conv2d(in_channels, out_channels, kernel_size, stride, padding, ...),一般关心这5个参数即可
    torch.randn和torch.rand的区别
    Pytorch 里 nn.AdaptiveAvgPool2d(output_size) 原理是什么?
    Python中*args、**args到底是什么、有啥区别、怎么用
    padding输入值是tuple数组,其含义是
    矩阵/图像边长经过卷积操作后的尺寸计算方法:
    CIFAR-10 数据集
    vgg code
    Epoch、Iteration、Batchsize
  • 原文地址:https://www.cnblogs.com/azure-zero/p/10044682.html
Copyright © 2020-2023  润新知