Java2DライブラリのdrawString(。。)機能を使用して、画面にグラフィックステキストを表示しています。Java:昇順の行からdrawString()を呼び出す方法
articleの図を参照してください。私の文字列をBaseLineではなくAscender Lineから描画します。簡単な言葉で、高さのb/w上昇線とベースラインを計算する方法はありますか?
Java2DライブラリのdrawString(。。)機能を使用して、画面にグラフィックステキストを表示しています。Java:昇順の行からdrawString()を呼び出す方法
articleの図を参照してください。私の文字列をBaseLineではなくAscender Lineから描画します。簡単な言葉で、高さのb/w上昇線とベースラインを計算する方法はありますか?
使用フォントのFontMetrics
オブジェクトを取得して、getAscent()
またはgetMaxAscent()
のどちらか適切な場合を使用して上昇を判断することができます。
レンダリング前にy位置にFontMetrics.getAscent()
を追加します。
通常のdrawString
は、ベースラインをy
- 引数と揃えます。浮動線がy
と揃うように文字列を描画する場合は、y + fm.getAscent()
を渡す必要があります。ここで、fm
は現在のFontMetrics
オブジェクトです。以下の例を参照してください。
このスクリーンショット:
このコードによって生成されます
FontMetrics fm = g.getFontMetrics();
g.setColor(Color.RED);
g.drawLine(10, 10, 100, 10);
g.setColor(Color.BLACK);
g.drawString("Hello frog", 10, 10 + fm.getAscent());
は、彼が*文字列を描画する前に* * yを*にその値を追加するべきではないでしょうか。 – aioobe
あなたはそうです。一定。 –