Интересно, но я думаю, что разница в том, что я использую JavaScript для изменения цвета заливки существующего прямоугольника, поэтому он полностью меняет его. Даже если он имеет сглаживание по краям, по крайней мере, он подходит для нового цвета. Еще раз спасибо.

елэто а такжеэто обсуждение удаления сглаживания в полотнах, но я не думаю, что это одно и то же.

После масштабирования холста html5 по произвольному значению (то есть, делая его отзывчивым), я заметил, что, если я рисую два прямоугольника одинакового размера и в одном и том же месте, края масштабированной стороны первого прямоугольника остаются видимыми.

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

Как я могу это исправить? Спасибо!

var example = document.getElementById("example");
var ctx = example.getContext('2d');

ctx.scale(1.13,1);

ctx.fillStyle = "LightGrey";
ctx.fillRect(10,10,50,30);

ctx.fillStyle = "Black";
ctx.font = "20px Arial";
ctx.fillText("< Looks good.",70,30);

ctx.fillStyle = "Red";
ctx.fillRect(10,50,50,30);

// This light grey rectangle should completely cover the previous red one, but it doesn't!
ctx.fillStyle = "LightGrey";
ctx.fillRect(10,50,50,30);

ctx.fillStyle = "Black";
ctx.font = "20px Arial";
ctx.fillText("< Do you see red?",70,70);
<canvas id="example"></canvas>

Ответы на вопрос(1)

Ваш ответ на вопрос