Java:如何从ascender行drawString()

Jam*_*ame 4 java java-2d

我通过使用Java2D Library的drawString(...)函数在屏幕上显示一些图形文本.

指的这个图中的文章,我想从上升段线,而不是基准拉我的字符串.简单来说,有没有办法计算高度b/w上升线和基线?

aio*_*obe 5

法线drawString将使基线与y-argument对齐.如果你想画的绳子,让上升线与对齐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());
Run Code Online (Sandbox Code Playgroud)


kin*_*nak 3

您可以获取所使用字体的对象,并使用或FontMetrics确定上升,以适合您的情况为准。getAscent()getMaxAscent()