Java:如何从上升线提取字符串()
我使用Java2D库的drawString(…)函数在屏幕上显示一些图形文本Java:如何从上升线提取字符串(),java,java-2d,Java,Java 2d,我使用Java2D库的drawString(…)函数在屏幕上显示一些图形文本 参考这幅图,我希望我的线是从上升线而不是基线上画的。简单地说,有没有办法计算上升线和基线的高度?您可以获得所用字体的对象,并使用getAscent()或getMaxAscent()确定上升,以您的情况为准。添加FontMetrics.getAscent()到渲染前的y位置。正常的抽绳将使基线与y-参数对齐。如果要绘制字符串,使上升线与y对齐,则需要传递y+fm.getAscent(),其中fm是当前的FontMetri
参考这幅图,我希望我的线是从上升线而不是基线上画的。简单地说,有没有办法计算上升线和基线的高度?您可以获得所用字体的对象,并使用
getAscent()
或getMaxAscent()
确定上升,以您的情况为准。添加FontMetrics.getAscent()
到渲染前的y位置。正常的抽绳将使基线与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吗?