أحدث البرامج التعليمية وتطوير الشبكة
 

Canvas ساعة الوجه


الجزء الثاني - رسم الوجه على مدار الساعة

على مدار الساعة في حاجة إلى وجه الساعة. إنشاء دالة جافا سكريبت لرسم الوجه على مدار الساعة:

جافا سكريبت:

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();
}
انها محاولة لنفسك »

وأوضح كود

إنشاء دالة drawFace () لرسم وجه الساعة:

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

function drawFace(ctx, radius) {
}

رسم دائرة بيضاء:

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

إنشاء تدرج شعاعي (95٪ و 105٪ من نصف قطر مدار الساعة الأصلي):

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

إنشاء 3 محطات اللون، المقابلة مع الداخلية، والمتوسطة، والحافة الخارجية للقوس:

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

توقف اللون خلق تأثير 3D.

تعريف التدرج ونمط السكتة الدماغية من كائن رسومي:

ctx.strokeStyle = grad;

تحديد عرض الخط من كائن رسومي (10٪ من نصف قطر):

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