Gli ultimi tutorial di sviluppo web
 

Canvas Clock


In questi capitoli costruiremo un orologio analogico utilizzando canvas HTML.


Parte I - creare la tela di canapa

L'orologio ha bisogno di un contenitore HTML. Creare una tela HTML 300 x 300 pixel:

Il codice HTML:

<!DOCTYPE html>
<html>
<body>

<canvas id="canvas" width="300" height="300" style="background-color:#333"></canvas>

<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var radius = canvas.height / 2;
ctx.translate(radius, radius);
radius = radius * 0.90
drawClock();

function drawClock() {
    ctx.arc(0, 0, radius, 0 , 2*Math.PI);
    ctx.fillStyle = "white";
    ctx.fill();
}
</script>

</body>
</html>
Prova tu stesso "

Codice spiegato

Aggiungere un HTML elemento <canvas> alla pagina:

<canvas id="canvas" width="300" height="300" style="background-color:#333"></canvas>

Creare un oggetto tela (var tela) dal elemento canvas HTML:

var canvas = document.getElementById("canvas");

Creare un oggetto di disegno 2d (var CTX) per l'oggetto canvas:

var ctx = canvas.getContext("2d");

Calcolare il raggio di orologio, utilizzando l'altezza della tela:

var radius = canvas.height / 2;

Utilizzando l'altezza tela per calcolare il raggio orologio, rende il lavoro dell'orologio per tutte le dimensioni di tela.

Rimappare la posizione (0,0) (dell'oggetto disegno) al centro della tela:

ctx.translate(radius, radius);

Ridurre il raggio di clock (al 90%) per disegnare bene l'orologio all'interno delle tele:

radius = radius * 0.90;

Creare una funzione per disegnare l'orologio:

function drawClock() {
    ctx.arc(0, 0, radius, 0 , 2*Math.PI);
    ctx.fillStyle = "white";
    ctx.fill();
}