Я играл с элементом холста и обнаружил, что при попытке нарисовать NxN однородные сплошные ячейки рядом друг с другом, в некоторых конфигурациях ширины и высоты существуют размытые белые линии между их.Weird HTML 5 Canvas Antialiasing
Например, этот холст должен выглядеть черным, но содержит сетку , которая, как я предполагаю, является результатом ошибочного сглаживания в браузере.
Достаточно сказать, что эта ошибка появляется только в некоторых конфигурации, но я хотел бы избавиться от него навсегда. Есть ли способ обойти это? Были ли у вас проблемы с сглаживанием в холсте?
Я сделал this fiddle, что демонстрирует проблему и позволяет вам играть с размерами холста и количества ячеек. Он также содержит код, который я использую для рисования ячеек, чтобы вы могли проверить его и сказать мне, что я делаю что-то неправильно.
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
for (var i = 0; i < numberOfCells; ++i) {
for (var j = 0; j < numberOfCells; ++j) {
ctx.fillStyle = '#000';
ctx.fillRect(j * cellWidth, i * cellHeight, cellWidth, cellHeight);
}
}
Спасибо заранее,
Петр.
Здравствуйте Петр, казалось бы, вы забыли предоставить свою ссылку скрипку, могли бы вы обновить – Canvas
Просто заметил. Извините, здесь вы идете! :) –
Общим трюком является преобразование всего холста на один пиксель в начале, чтобы увернуться от этого, я считаю. –