Последние учебники веб-разработки
 

Canvas Clock


В этих главах мы будем строить аналоговые часы с использованием HTML-холст.


Часть I - Создание холста

Часы нуждается в HTML-контейнер. Создание 300 х 300 пикселей HTML холст:

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>
Попробуй сам "

Код Разъяснения

Добавить HTML <Canvas> элемент на страницу:

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

Создание холста объекта (Var) холст из элемента HTML холст:

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

Создание 2d объект чертежа (переменная 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();
}