1

我想得到一个字符串的高度。这就是我的意思:
假设我有字符串:Hi,那么我希望高度(Hi)作为该字符串中所有字符的最大高度,所以它将是 H 的高度。我看到很少有帖子说要使用图形来测量它,但我没有打印它,但我只想要高度!
如果我能得到角色的高度,那么我会写一个循环来看看哪个是最高的高度!
所以两者中的任何一个都可以:
获取字符串的高度(字符串中所有字母的最大高度)或
获取指定字母的高度!

4

1 回答 1

4

只需使用该方法GC#textExtent()获取Point文本的高度和宽度:

public static void main(String[] args)
{
    final Display display = Display.getDefault();
    final Shell shell = new Shell(display);
    shell.setLayout(new GridLayout(1, false));

    GC gc = new GC(display);
    
    System.out.println(gc.textExtent("Hi").y);
    
    gc.dispose();
    
    shell.pack();
    shell.open();

    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

Java 文档:

返回给定字符串的范围。执行制表符扩展和回车处理。

字符串的范围是如果以特定字体在本例中为接收器中的当前字体)绘制时它将覆盖的矩形区域的宽度和高度。

于 2013-10-24T06:44:28.693 回答