Kanvas Saat Yüzü
Bölüm II - Bir Saat Yüzü Çiz
Saatin bir saat yüzüne ihtiyacı var. Bir saat yüzü çizmek için bir JavaScript işlevi oluşturun:
JavaScript:
function drawClock() {
drawFace(ctx, radius);
}
function drawFace(ctx, radius) {
var grad;
ctx.beginPath();
ctx.arc(0, 0, radius, 0, 2 * Math.PI);
ctx.fillStyle = 'white';
ctx.fill();
grad = ctx.createRadialGradient(0, 0 ,radius * 0.95, 0, 0, radius * 1.05);
grad.addColorStop(0, '#333');
grad.addColorStop(0.5, 'white');
grad.addColorStop(1, '#333');
ctx.strokeStyle = grad;
ctx.lineWidth = radius*0.1;
ctx.stroke();
ctx.beginPath();
ctx.arc(0, 0, radius * 0.1, 0, 2 * Math.PI);
ctx.fillStyle = '#333';
ctx.fill();
}
Kod Açıklaması
Saat yüzünü çizmek için bir drawFace() işlevi oluşturun:
function drawClock() {
drawFace(ctx, radius);
}
function drawFace(ctx, radius) {
}
Beyaz daireyi çizin:
ctx.beginPath();
ctx.arc(0, 0, radius, 0, 2 * Math.PI);
ctx.fillStyle = 'white';
ctx.fill();
Radyal bir gradyan oluşturun (orijinal saat yarıçapının %95'i ve %105'i):
grad = ctx.createRadialGradient(0, 0, radius * 0.95, 0, 0, radius * 1.05);
Yayın iç, orta ve dış kenarına karşılık gelen 3 renk durağı oluşturun:
grad.addColorStop(0, '#333');
grad.addColorStop(0.5, 'white');
grad.addColorStop(1, '#333');
Renk durakları bir 3D efekti oluşturur.
Gradyanı çizim nesnesinin kontur stili olarak tanımlayın:
ctx.strokeStyle = grad;
Çizim nesnesinin çizgi genişliğini tanımlayın (yarıçapın %10'u):
ctx.lineWidth = radius * 0.1;
Çemberi çizin:
ctx.stroke();
Saat merkezini çizin:
ctx.beginPath();
ctx.arc(0, 0, radius * 0.1, 0, 2 * Math.PI);
ctx.fillStyle = '#333';
ctx.fill();