0

画像の中央に 2 つの単語を配置しようとしています。しかし、drawString メソッドは "x" 座標を正しく取得していないようです。たとえば、「setupa」と「asetup」という単語を配置しようとしています (画像幅 30)。私の画像の幅は 106 なので、どちらの場合も x-cord の値は 38 です。しかし、実際にはセットアップは 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