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();
}