Отключить сглаживание при рисовании изображения на элементе canvas в IE9 - PullRequest
0 голосов
/ 28 марта 2011

Наше приложение загружает PNG-изображение с помощью JavaScript и рисует его в 2D-контексте элемента canvas для считывания точных значений цвета пикселей (используя getImageData).

Это прекрасно работаетво всех браузерах, которые поддерживают canvas-API, кроме IE9: ctx.drawImage (img, 0, 0) , кажется, применяет к изображению какое-то сглаживание.Возможно ли отключить это поведение?

Наш код выглядит примерно так:

var img = document.createElement('IMG');
img.addEventListener('load', function(e) {
    var w = img.width,
        h = img.height,
        ctx = canvas.getContext('2d');

    ctx.drawImage(img, 0, 0);
    var data = ctx.getImageData(0, 0, w, h),
        pixels = data.data;

    for (var y = 0, i = 0; y < h; y++) {
        for (var x = 0; x < w; x++, i += 4) {
            var r = pixels[i],
                g = pixels[i+1],
                b = pixels[i+2],
                color = (r << 16) | (g << 8) | b;

            // do something with x, y and color
        }
    }
});
img.src = 'images/source.png';

1 Ответ

1 голос
/ 11 июля 2012

Подход к улучшению четкости линий зависит от того, выполняете ли вы заливку или рисование ... см. http://www.netmagazine.com/features/four-essential-html5-canvas-tips подходы к каждому.

...