Холст Часы
В этих главах мы создадим аналоговые часы, используя холст HTML.
Часть I. Создание холста
Часы нуждаются в HTML-контейнере. Создайте HTML-холст:
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>
Объяснение кода
Добавьте HTML-элемент <canvas> на свою страницу:
<canvas id="canvas" width="400"
height="400" style="background-color:#333"></canvas>
Создайте объект холста (var canvas) из элемента холста HTML:
var canvas =
document.getElementById("canvas");
Создайте 2D-объект рисования (var ctx) для объекта холста:
var ctx = canvas.getContext("2d");
Рассчитайте радиус часов, используя высоту холста:
var radius
= canvas.height / 2;
Используя высоту холста для расчета радиуса часов, часы работают для всех размеров холста.
Переназначьте положение (0,0) (объекта рисования) в центр холста:
ctx.translate(radius, radius);
Уменьшите радиус часов (до 90%), чтобы хорошо отобразить часы внутри холста:
radius = radius * 0.90;
Создайте функцию для рисования часов:
function drawClock() {
ctx.arc(0, 0, radius, 0 , 2 * Math.PI);
ctx.fillStyle =
"white";
ctx.fill();
}