Canvas 时钟
在接下来的章节中,我们将使用 HTML 画布构建一个模拟时钟。
第一部分 - 创建画布
时钟需要一个 HTML 容器。创建 HTML 画布:
HTML 代码:
<!DOCTYPE html> <html> <body> <canvas id="canvas" width="400" height="400" style="background-color:#333"></canvas> <script> const canvas = document.getElementById("canvas"); const ctx = canvas.getContext("2d"); let 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>
创建一个画布对象(const canvas):
const canvas = document.getElementById("canvas");
为画布对象创建一个 2d 绘图对象 (const ctx):
const ctx = canvas.getContext("2d");
使用画布的高度来计算时钟的半径:
let 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(); }