最新的Web開發教程
 

Canvas時鐘數


第三部分 - 繪製時鐘數

時鐘需要的號碼。 創建一個JavaScript函數來繪製時鐘數:

JavaScript的:

function drawClock() {
    drawFace(ctx, radius);
    drawNumbers(ctx, radius);
}

function drawNumbers(ctx, radius) {
    var ang;
    var num;
    ctx.font = radius*0.15 + "px arial";
    ctx.textBaseline="middle";
    ctx.textAlign="center";
    for(num= 1; num < 13; num++){
        ang = num * Math.PI / 6;
        ctx.rotate(ang);
        ctx.translate(0, -radius*0.85);
        ctx.rotate(-ang);
        ctx.fillText(num.toString(), 0, 0);
        ctx.rotate(ang);
        ctx.translate(0, radius*0.85);
        ctx.rotate(-ang);
    }
}
試一試»

例子解釋:

字體大小(繪圖對象)設置為半徑的15%:

ctx.font = radius*0.15 + "px arial";

設置文本對齊,中間和打印的中心位置:

ctx.textBaseline="middle";
ctx.textAlign="center";

計算打印位置(12號)的半徑的85%,旋轉(π/ 6)為每個數:

for(num= 1; num < 13; num++) {
    ang = num * Math.PI / 6;
    ctx.rotate(ang);
    ctx.translate(0, -radius*0.85);
    ctx.rotate(-ang);
    ctx.fillText(num.toString(), 0, 0);
    ctx.rotate(ang);
    ctx.translate(0, radius*0.85);
    ctx.rotate(-ang);
}