用canvas画钟,实时变化的钟
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                用canvas画钟,实时变化的钟
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                先上代碼,詳解之后補(bǔ)上
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>canvas{position: absolute;border: 1px solid black;left: 200px;}</style> </head> <body><canvas width="1500" height="800"></canvas><script>var canvas=document.querySelector("canvas");var content=canvas.getContext("2d");//封裝表盤(pán)function drowClock(){//畫(huà)表盤(pán)content.beginPath();content.lineWidth=10content.arc(750,300,200,0,2*Math.PI)content.closePath();content.stroke();//畫(huà)時(shí)刻度f(wàn)or(i=0;i<12;i++){content.save();content.translate(750,300);content.rotate(i*Math.PI/6);content.beginPath();content.lineWidth=3;content.moveTo(0,-170);content.lineTo(0,-195);content.stroke();content.closePath();content.restore();}//畫(huà)分刻度f(wàn)or(i=0;i<60;i++){content.save();content.translate(750,300);content.rotate(i*Math.PI/180*(360/60));content.beginPath();content.lineWidth=1;content.moveTo(0,-180);content.lineTo(0,-195)content.stroke();content.closePath();content.restore();}//畫(huà)數(shù)字for(i=0;i<12;i++){var num=[3,4,5,6,7,8,9,10,11,12,1,2]var tx=150*Math.cos(i*Math.PI/180*30);var ty=150*Math.sin(i*Math.PI/180*30);content.save();content.translate(750,300);content.beginPath();content.textAlign="center";content.textBaseline="middle"content.font="20px 微軟雅黑" content.fillText(num[i],tx,ty);content.stroke();content.closePath();content.restore();}}//封裝秒針,分針,時(shí)針function drowNeedle(){var time= new Date();var s=time.getSeconds();var m=time.getMinutes();var h=time.getHours();if(h>12){h=h-12;}//秒針content.save();content.translate(750,300);//因?yàn)?點(diǎn)鐘方向?yàn)楫?huà)圖的起始點(diǎn),所以要減180度,讓起始點(diǎn)變?yōu)?2點(diǎn)鐘方向content.rotate(Math.PI/180*6*s-Math.PI)content.beginPath();content.lineWidth=2;content.strokeStyle="red"content.moveTo(0,0);content.lineTo(0,120);content.stroke();content.closePath();content.restore();//分針content.save();content.translate(750,300);content.rotate(m*(Math.PI/180)*6-Math.PI);content.beginPath();content.lineWidth=2;content.strokeStyle="black"content.moveTo(0,0);content.lineTo(0,80);content.stroke();content.closePath();content.restore();//時(shí)針content.save();content.translate(750,300);content.rotate(h*Math.PI/180*(360/12)-Math.PI+Math.PI/180*m/2)content.beginPath();content.lineWidth=2;content.strokeStyle="black"content.moveTo(0,0);content.lineTo(0,60);content.stroke();content.closePath();content.restore();console.log(h)}drowClock();drowNeedle();//設(shè)置定時(shí)器讓表動(dòng)起來(lái)setInterval(function(){content.clearRect(0,0,1500,800);drowClock();drowNeedle();},1000)</script> </body> </html>效果圖如下:
?
?
總結(jié)
以上是生活随笔為你收集整理的用canvas画钟,实时变化的钟的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: FISCO BCOS群组特性
- 下一篇: 重要接口部件——SRAM
