获取字体高度的GC和FontData有什么区别?

miq*_*bal 7 java fonts swt font-size

这解释了字体指标 在此输入图像描述

我想我们可以在这些SWT中获得"字体高度";

GC gc = new GC(label);
System.out.println( gc.textExtent(label.getText()) );
System.out.println( label.getFont().getFontData()[0].getHeight() );
Run Code Online (Sandbox Code Playgroud)

为什么这两个出局不一样?哪一个是正确的字符串高度?

Waq*_*yas 2

GC#textExtent()以像素为单位返回范围,以字体FontData为单位返回。这里的单位不同。

  • @miqbal:您可以使用“Device.getDPI()”获取系统DPI,例如“像素=点* Device.getDPI() / 72”。 (2认同)