Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何从上升线提取字符串()_Java_Java 2d - Fatal编程技术网

Java:如何从上升线提取字符串()

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

我使用Java2D库的drawString(…)函数在屏幕上显示一些图形文本


参考这幅图,我希望我的线是从上升线而不是基线上画的。简单地说,有没有办法计算上升线和基线的高度?

您可以获得所用字体的对象,并使用
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吗?