0

我试图在图像的中心放置两个单词。但是 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));

他们有办法解决这个问题吗?或将文本置于中心的更好方法。

谢谢

4

0 回答 0