Обратите внимание на деталь
Однако крайние левые и все остальные линии толщины с нечетным целым числом не выглядят четкими из-за расположения пути.
и
Для получения четких линий требуется
понимание того, как пройдены пути.
На изображениях ниже сетка
представляет координатную сетку холста.
Квадраты между линиями сетки
фактические пиксели на экране. Во-первых
сетка изображения ниже, прямоугольник от
(2,1) - (5,5) заполнено. Целиком
область между ними (светло-красная) падает на
границы пикселей, так что в результате
заполненный прямоугольник будет иметь четкое
края.
Итак, если вы рисуете с половиной пикселей ( при рисовании нечетной линии ширины пикселя ), тогда фактические нарисованные края будут падать на абсолютные пиксели и выглядят хорошо ..
пример на http://jsfiddle.net/Wav5v/
В качестве альтернативы вы можете использовать fillRect(x,y,width,height)
с шириной 1 ..
function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
for (i=0;i<10;i++){
ctx.fillRect(5 + i*14, 5, 1+i, 140);
}
}
пример на http://jsfiddle.net/Wav5v/1/