Я работаю с элементом HTML-canvas.
var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.fillStyle = "#FF0000";
ctx.rect(0, 0, canvas.width / 3, canvas.height / 3);
ctx.fill();
ctx.closePath();
ctx.beginPath();
ctx.fillStyle = "#FF0000";
ctx.rect(canvas.width / 3, 0, canvas.width / 3, canvas.height / 3);
ctx.fill();
ctx.closePath();
<canvas id="c" width="541" height="541"></canvas>
Проблема: Когда я выбираю нечетное число (в данном случае простое число 541) в качестве размера холста и рисую на нем прямоугольник (размер: 1 /3 всего холста).
Но это результат:
увеличено:
Как видите: между двумя прямоугольниками есть нежелательная линия.Как я могу решить эту проблему?
Округление значений с Math.floor()
, Math.round()
и Math.ceil()
(вероятно) не вариант, потому что сумма ширин 3 прямоугольников должна быть равнаШирина холста.