我试图在图像的中心放置两个单词。但是 drawString 方法似乎没有正确拾取“x”坐标。例如,我试图放置单词“setupa”和“asetup”(图像宽度 30)。我的图像宽度是 106,因此两种情况下的 x-cord 值都是 38。但实际上,setup 是 1-2 像素偏移的地方。
它产生的差异很小,但这显示在我的图像中。
示例代码如下。
Graphics2D textGraphics;
textGraphics = image.createGraphics();
textGraphics.setColor(fontColor);
textGraphics.setFont(font);
FontRenderContext frc = new FontRenderContext(null, true, true);
TextLayout layout = new TextLayout(label, font, frc);
Rectangle r = layout.getPixelBounds(frc, 0, 0);
textGraphics.drawString(label, ((imageWidth / 2) - (r.width/2)), (imageWidth / 2));
他们有办法解决这个问题吗?或将文本置于中心的更好方法。
谢谢