如您所知,在画布上使用圆角坐标会更快。此外,浮动坐标可能会在画布上造成意外间隙。例如,您正在将 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
图像将被绘制到浮动坐标中。如何使这些坐标四舍五入?