Формы холста становятся псевдонимами при повторном рисовании в сафари - PullRequest
1 голос
/ 06 января 2011

Я рисую простой индикатор прогресса, используя холст.Когда элемент рисуется в первый раз, он выглядит красиво и сглаженно, но при повторном рисовании он теряет сглаживание.Кто-нибудь знает, что здесь может происходить?

function drawProgress(id, percent) {
            var selected = $(safeID(id)).is('.selected');

            var canvas = $(safeID("CANVAS_" + id));
            var ctx = $(canvas)[0].getContext('2d');
            ctx.clearRect();

            if ( selected ) {
                ctx.fillStyle = "#ffffff";
                ctx.strokeStyle = "#ffffff";
            }
            else {
                ctx.fillStyle = "#99a7ca";
                ctx.strokeStyle = "#99a7ca";
            }

            ctx.beginPath();
            ctx.arc(canvas.width()/2.0, canvas.height()/2.0, canvas.width()/2.0-1, 0, Math.PI, false);
            ctx.fill();

            ctx.beginPath();
            ctx.arc(canvas.width()/2.0, canvas.height()/2.0, canvas.width()/2.0-1, 0, Math.PI*2.0, false);
            ctx.stroke();
        }

1 Ответ

1 голос
/ 06 января 2011

Вам необходимо указать размеры clearRect.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...