7

帆布でカウントダウンしました

作業コード: http: //jsfiddle.net/ajFsx/

window.onload = function() {
    canvas  = document.getElementById('timer'),
    seconds = document.getElementById('counter'),
    ctx     = canvas.getContext('2d'), 
    sec     = 180,
    countdown = sec;
    ctx.lineWidth = 8;
    ctx.strokeStyle = "#528f20";
    var 
    startAngle = 0, 
    time       = 0,
    intv       = setInterval(function(){
        var endAngle = (Math.PI * time * 2 / sec);
        ctx.arc(65, 35, 30, startAngle , endAngle, false);   
        startAngle = endAngle;
        ctx.stroke();

        countdown--;
        if ( countdown > 60){
            seconds.innerHTML = Math.floor(countdown/60);
            seconds.innerHTML += ":" + countdown%60;
        }
        else{
            seconds.innerHTML = countdown;
        }
        if (++time > sec,countdown == 0 ) { clearInterval(intv), $("#timer, #counter").remove(), $("#timers").prepend('<img id="theImg" src="#" />'); }
    }, 10);
}​

私の質問は次のとおりです。どうすればこの図面の見栄えを良くして、ピクセルをなくすことができますか?

jqueryキャンバスでたくさんググったのですが、探している場所が見つからないようです。

4

1 に答える 1

6

キャンバスの描画は、デフォルトでアンチエイリアス処理されています。

常に前のフレームを描画しています。

jsFiddle(証明)。

呼び出すことで簡単に修正できます...

ctx.clearRect(0, 0, 200, 200);

jsFiddle

これにより、左上隅に以前に描画された200pxの正方形がクリアされます。

于 2012-10-29T04:11:32.333 に答える