【发布时间】:2011-10-30 03:54:13
【问题描述】:
如您所知,在画布上绘图时使用圆角坐标更快。浮动坐标也可能导致画布上出现意外的间隙。例如,您正在将谷歌地图图块绘制到画布上,如果起始坐标为整数,则 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
图像将被绘制成浮动坐标。如何舍入该坐标?
【问题讨论】:
-
您正在使用缩放并转换浮点值,为什么不使用整数?
标签: image html canvas pixels rounding