最新的Web开发教程
 

Canvas Clock


在这些章节中,我们将建立使用HTML画布模拟时钟。


第一部分 - 创建画布

时钟需要一个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画布元素的画布对象(VAR帆布):

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

创建画布对象的2D绘图对象(VAR CTX):

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

计算时钟半径,使用该帆布的高度:

var radius = canvas.height / 2;

使用Canvas的高度来计算时钟半径,使得所有的画布大小的时钟工作。

重新映射(的图形对象)的(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();
}