Płótno Zegar


W tych rozdziałach zbudujemy zegar analogowy przy użyciu płótna HTML.


Część I - Tworzenie płótna

Zegar potrzebuje kontenera HTML. Utwórz kanwę HTML:

Kod 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>


Wyjaśnienie kodu

Dodaj element HTML <canvas> do swojej strony:

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

Utwórz obiekt canvas (var canvas) z elementu HTML canvas:

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

Utwórz obiekt rysunkowy 2D (var ctx) dla obiektu canvas:

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

Oblicz promień zegara, korzystając z wysokości płótna:

var radius = canvas.height / 2;

Użycie wysokości płótna do obliczenia promienia zegara sprawia, że ​​zegar działa dla wszystkich rozmiarów płótna.

Zamapuj ponownie pozycję (0,0) (obiektu rysunkowego) na środek kanwy:

ctx.translate(radius, radius);

Zmniejsz promień zegara (do 90%), aby dobrze narysować zegar wewnątrz płótna:

radius = radius * 0.90;

Utwórz funkcję do rysowania zegara:

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