如果我这样做:
g.drawString("9", (float) 10, (float) 50);
文本“9”将在像素x位置10处绘制。
同样,如果我这样做:
g.translate(10, 0);
g.drawString("9", (float) 0, (float) 50);
文本将再次在x-position 10处绘制。
但是,如果我这样做:
g.translate(9.5, 0);
g.drawString("9", (float) 0.5, 50);
文本将显示在右侧1个像素,大概在x位置11。
这是一个垂直参考线的样子(放大4倍)。
我认为这是图形渲染器中发生的某种舍入错误。有没有办法确保第3个“9”绘制在与前两个相同的x位置?
答案 0 :(得分:1)
你可以自己围绕坐标,只传递给Graphics2D整数。