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

另請參閱:

CodeW3C.com 的完整 Canvas 參考手冊