English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Este exemplo prático compartilha o código de implementação específico do relógio circular Canvas em JavaScript, para referência. O conteúdo específico é o seguinte
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <título>Relógio de Canvas</título> <style type="text/css"> div{ texto-alinhamento: centro; margem-top: 250px; } #clock{ borda: 1px sólido #ccc; } </<style> </<head> <body> <div> <canvas id="clock" height="200px" width="200px"></canvas> </div> <script type="text/javascript" src="js/clock.js"></script> </body> </html>
js
var dom=document.getElementById('clock'); var cxt=dom.getContext("2d"); var largura=cxt.canvas.largura; var altura=cxt.canvas.altura; var r=largura/2; function desenharFundo(){ cxt.save(); cxt Traduz(r,r); cxt.beginPath(); cxt LarguraDaLinha=10; cxt Arco(0,0,r-5,0,2*Math.PI,false); cxt Trace(); cxt Fonte="18px Arial"; cxt AlinhamentoTexto='centro' cxt LinhaDaTexto='meio' var hourNums=[3,4,5,6,7,8,9,10,11,12,1,2); hourNums.forEach(function(number,i){ var rad=2*Math.PI/12*i; var x=Math.Cosseno(rad)*(r-30); var y=Math.Seno(rad)*(r-30); cxt EscreverTexto(number,x,y); }); for(var i=0;i<60;i++); var rad=2*Math.PI/60*i; var x=Math.Cosseno(rad)*(r-18); var y=Math.Seno(rad)*(r-18); cxt.beginPath(); if(i % 5===0){ cxt CorDaReta="#000" cxt Arco(x,y,2,0,2*Math.PI,false); } else{ cxt CorDaReta="#ccc" cxt Arco(x,y,2,0,2*Math.PI,false); } cxt.fill(); } } function desenharHora(hora,minuto){ cxt.save(); cxt.beginPath(); var rad=2*Math.PI/12*hora; var mrad=2*Math.PI/12/60*minuto cxt Gira(rad+mrad); cxt LarguraDaLinha=6; cxt LinhaCap='arredondado' cxt MoverPara(0,10); cxt LinhaPara(0,-r/2); cxt Trace(); cxt.restore(); } function desenharMinuto(minuto){ cxt.save(); cxt.beginPath(); var rad=2*Math.PI/60*minuto; cxt.rotate(rad); cxt LarguraDaLinha=3; cxt LinhaCap='arredondado' cxt MoverPara(0,10); cxt LinhaPara(0,-r+30); cxt Trace(); cxt.restore(); } function desenharSegundo(segundo){ cxt.save(); cxt.beginPath(); cxt.fillStyle='#c14543'' var rad=2*Math.PI/60*second; cxt.rotate(rad); cxt.moveTo(-2,20); cxt.lineTo(2,20); cxt.lineTo(1,-r+18); cxt.lineTo(-1,-r+18); cxt.fill(); cxt.restore(); } function drawDot(){ cxt.beginPath(); cxt.fillStyle='#fff' cxt.arc(0,0,3,0,2*Math.PI,false); cxt.fill(); } function draw(){ cxt.clearRect(0,0,width,height); var now=new Date(); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); drawBackground(); drawHour(hour,minute); drawMinute(minute); drawSecond(second); drawDot(); cxt.restore(); } setInterval(draw,1000);
Isso é tudo o que há no artigo, esperamos que ajude na aprendizagem de todos e que vocês apoiem mais o tutorial Gritar.
Declaração: O conteúdo deste artigo é extraído da internet, pertence ao respectivo proprietário, foi submetido e carregado voluntariamente pelos usuários da internet, o site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade legal relevante. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Em caso de verificação, o site deletará imediatamente o conteúdo suspeito de violação de direitos autorais.)