Как вы знаете, использование округленных координат при рисовании на холсте происходит быстрее. Также плавающие координаты могут вызвать непреднамеренные пробелы на холсте. Например, вы рисуете плитки карты Google на холсте, плитки 256x256 работают хорошо, если начальные координаты целые.
Если нет, чтобы избежать одного пикселя неокрашенных линий, вы должны округлить координаты.
Здесь все в порядке.
Но что, если вы должны использовать масштабирование, преобразование поверх холста, как вы можете округлить координаты?
, например
ctx.drawImage(image, round(x), round(y), 256, 256);
в порядке.
Но что, если
ctx.scale(1.0/65536);
ctx.translate(118079.4);
ctx.drawImage(image, x, y, 256, 256); // where x and y are integers like 118413
Изображение будет отображаться в плавающих координатах. Как я могу округлить эти координаты?