Я видел это и это обсуждение удаления антиалиасинга на полотнах, но я не думаю, что это одно и то же.
После масштабированияhtml5 canvas по произвольному значению (т. е. делая его отзывчивым), я заметил, что, если я рисую два прямоугольника одинакового размера и в одном и том же месте, края масштабированной стороны первого прямоугольника остаются видимыми.
Я включил пример фрагмента, где я рисую серый прямоугольник, а затем рисую красный прямоугольник поверх него.На левом и правом краях серого прямоугольника есть красная пиксельная вертикальная линия размером в один пиксель.Я знаю, что это может показаться тривиальным, но это очень заметно в моей ситуации.
Как мне это исправить?Спасибо!
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>