Canvas soat: siferblat


ULASHISH

II qism - Soat siferblatini chizish

Soatga siferblat kerak. Siferblatni chizish uchun JavaScript funksiyasini yarating:

JavaScript:

function drawClock() {   drawFace(ctx, radius); } function drawFace(ctx, radius) {   const 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.beginPath();   ctx.arc(0, 0, radius, 0, 2 * Math.PI);   ctx.fillStyle = 'white';   ctx.fill();   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(); }
O‘zingiz sinab ko‘ring »


Kod izohi

Soat siferblatini chizish uchun drawFace() funksiyasini yarating:

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

Oq doirani chizing:

ctx.beginPath(); ctx.arc(0, 0, radius, 0, 2 * Math.PI); ctx.fillStyle = 'white'; ctx.fill();

Radial gradient yarating (asl soat radiusining 95% va 105% i):

grad = ctx.createRadialGradient(0, 0, radius * 0.95, 0, 0, radius * 1.05);

Yoyning ichki, o‘rta va tashqi chetlariga mos keladigan 3 ta rang to‘xtash nuqtasini yarating:

grad.addColorStop(0, '#333'); grad.addColorStop(0.5, 'white'); grad.addColorStop(1, '#333');

Rang to‘xtash nuqtalari 3D effekt hosil qiladi.

Gradientni chizish obyektining kontur uslubi (stroke style) sifatida belgilang:

ctx.strokeStyle = grad;

Chizish obyektining chiziq qalinligini belgilang (radiusning 10% i):

ctx.lineWidth = radius * 0.1;

Aylanani chizing:

ctx.stroke();

Soat markazini chizing:

ctx.beginPath(); ctx.arc(0, 0, radius * 0.1, 0, 2 * Math.PI); ctx.fillStyle = '#333'; ctx.fill();

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!