最新のWeb開発のチュートリアル
 

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>

HTMLのcanvas要素からキャンバスオブジェクト(VARキャンバス)を作成します。

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