Pergunta  
 
Rede de conhecimento computador >> Pergunta >> PC Resolução de problemas >> Content
Como criar um relógio analógico com HTML5 Canvas?
A criação de um relógio analógico com tela HTML5 envolve as seguintes etapas:

1. Crie uma tela:
- Comece criando um elemento de tela HTML5. Você pode fazer isso adicionando o seguinte código ao seu documento HTML:

```html

```

2. Obtenha o contexto da tela:
- Em seguida, você precisa obter o contexto da tela, que permite desenhar na tela. Você pode usar o método `getContext()` para fazer isso.

```javascript
var canvas =document.getElementById("relógio");
var ctx =canvas.getContext("2d");
```

3. Desenhe o mostrador do relógio:
- Comece a desenhar o mostrador do relógio definindo o estilo de preenchimento e a largura da linha. Em seguida, desenhe um círculo para o mostrador do relógio.

```javascript
// Define o estilo de preenchimento e largura da linha
ctx.fillStyle ="branco";
ctx.strokeStyle ="preto";
ctx.lineWidth =10;

//Desenha o mostrador do relógio
ctx.beginPath();
ctx.arc(200, 200, 150, 0, 2 * Math.PI);
ctx.fill();
ctx.stroke();
```

4. Adicionar números de relógio:
- Em seguida, você precisa adicionar números ao redor do relógio. Você pode fazer isso usando o método `fillText()`.

```javascript
// Define a fonte e o alinhamento do texto
ctx.font ="negrito 20px Arial";
ctx.textAlign ="centro";

//Adiciona os números do relógio
para (var i =1; i <=12; i++) {
var ângulo =(i * 30) * Math.PI / 180;
var x =200 + Math.cos(ângulo) * 130;
var y =200 + Math.sin(ângulo) * 130;
ctx.fillText(i, x, y);
}
```

5. Desenhe os ponteiros do relógio:
- Para desenhar os ponteiros do relógio, você precisa calcular os ângulos e comprimentos com base na hora atual.

```javascript
// Obtém a hora atual
var data =new Data();
var horas =date.getHours();
var minutos =date.getMinutes();
var segundos =date.getSeconds();

// Calcula os ângulos e comprimentos das mãos
var hourAngle =(horas% 12 + minutos/60) * 30 * Math.PI/180;
var minutoAngle =(minutos + segundos/60) * 6 * Math.PI/180;
var segundoAngle =(segundos) * 6 * Math.PI / 180;

var horaHandLength =80;
var minutoHandLength =120;
var segundoHandLength =140;

//Desenha o ponteiro das horas
ctx.beginPath();
ctx.moveTo(200, 200);
ctx.lineTo(
200 + Math.cos(horaAngle) * horaHandLength,
200 + Math.sin(horaAngle) * horaHandLength
);
ctx.stroke();

//Desenha o ponteiro dos minutos
ctx.beginPath();
ctx.moveTo(200, 200);
ctx.lineTo(
200 + Math.cos(minutoAngle) * minutoHandLength,
200 + Math.sin(minutoAngle) * minutoHandLength
);
ctx.stroke();

//Desenha o ponteiro dos segundos
ctx.beginPath();
ctx.moveTo(200, 200);
ctx.lineTo(
200 + Math.cos(secondAngle) * secondHandLength,
200 + Math.sin(secondAngle) * secondHandLength
);
ctx.stroke();
```

6. Anime o relógio:
- Para animar o relógio, você pode usar a função `setInterval()` para atualizar as posições dos ponteiros do relógio a cada segundo.

```javascript
//Atualiza o relógio a cada segundo
setInterval(função(){
// Obtém a hora atual
var data =new Data();
var horas =date.getHours();
var minutos =date.getMinutes();
var segundos =date.getSeconds();

// Calcula os ângulos e comprimentos das mãos
var hourAngle =(horas% 12 + minutos/60) * 30 * Math.PI/180;
var minutoAngle =(minutos + segundos/60) * 6 * Math.PI/180;
var segundoAngle =(segundos) * 6 * Math.PI / 180;

//Desenha os ponteiros do relógio
ctx.clearRect(0, 0, 400, 400); //Limpa a tela
drawClockFace(); //Desenha o mostrador do relógio
addClockNumbers(); //Adiciona números de relógio
drawClockHands(hourAngle, MinuteAngle, secondAngle); //Desenha os ponteiros do relógio
}, 1000); //Atualiza o relógio a cada 1000 milissegundos (1 segundo)
```

Este código criará um relógio analógico funcional que é atualizado em tempo real. Você pode personalizar as cores, fontes e comprimentos dos ponteiros do mostrador do relógio para criar designs diferentes.

Anterior :

Próximo :
  Os artigos relacionados
·A tela dividida do Wreckfest é compatível com o Xbox …
·Como definir mensagem de ausência temporária no Micro…
·Sobre Lavagem Computador 
·Como corrigir erros do disco rígido no PC? 
·Como obter mais lotes no Instacart 
·Como consertar um dispositivo quando o HBO Max Play 
·O que é o modo Odin no telefone Samsung? 
·Como limpar continuar assistindo no HBO Max 
·Como desfragmentar Todos os Setores 
·Como instalar o Icy Tower V3.0 
  Artigos em destaque
·Como Recover My Files & Reg Chaves 
·Como proteger com senha um arquivo Zip no MacOS 
·Sinais de um Inversor Falhando 
·Como limpar um DVD Burner 
·Grátis Programas Anti- vírus de computador 
·Como solucionar um Nextbook Next2 
·Como abrir Gerenciar configurações do Google Assisten…
·Como remover o Internet cookies de seu computador 
·Como encontrar fundos livres para arrefecer o seu compu…
·Características da memória virtual 
Cop e direita © Rede de conhecimento computador http://ptcomputador.com Todos os Direitos Reservados