Horloge en toile
Dans ces chapitres, nous allons construire une horloge analogique en utilisant le canevas HTML.
Partie I - Créer le canevas
L'horloge a besoin d'un conteneur HTML. Créez un canevas HTML :
Code HTML:
<!DOCTYPE html>
<html>
<body>
<canvas id="canvas" width="400"
height="400" 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>
Code expliqué
Ajoutez un élément HTML <canvas> à votre page :
<canvas id="canvas" width="400"
height="400" style="background-color:#333"></canvas>
Créez un objet canvas (var canvas) à partir de l'élément HTML canvas :
var canvas =
document.getElementById("canvas");
Créez un objet de dessin 2d (var ctx) pour l'objet canvas :
var ctx = canvas.getContext("2d");
Calculez le rayon de l'horloge en utilisant la hauteur de la toile :
var radius
= canvas.height / 2;
L'utilisation de la hauteur de la toile pour calculer le rayon de l'horloge permet à l'horloge de fonctionner pour toutes les tailles de toile.
Remappez la position (0,0) (de l'objet dessin) au centre du canevas :
ctx.translate(radius, radius);
Réduisez le rayon de l'horloge (à 90 %) pour dessiner l'horloge bien à l'intérieur du canevas :
radius = radius * 0.90;
Créez une fonction pour dessiner l'horloge :
function drawClock() {
ctx.arc(0, 0, radius, 0 , 2 * Math.PI);
ctx.fillStyle =
"white";
ctx.fill();
}