我正在创建一个游戏,我想使用 Java 的Font.MONOSPACED
字体,因为它易于使用(即使它看起来很恶心)。问题是我不知道字体的宽高比,这很重要。我在网上搜索了一段时间后找不到答案。
如果有人知道它或如何找到它,我将非常感激。
问问题
1912 次
1 回答
0
java.awt.FontMetrics
将在这里成为你的朋友。
Graphics2d
您可以通过对象访问它:
Graphics2D gfx = ...;
gfx.setFont(...); // select your preferred font, monospaced or otherwise
FontMetrics metrics = gfx.getFontMetrics();
这样做你可以得到:(全部来自上面的文档链接)
任何单个字符的宽度:
charWidth(char ch)
返回此 Font 中指定字符的前进宽度。
字符串的宽度:
stringWidth(String str)
返回在此字体中显示指定字符串的总前进宽度。
一条线的高度
getHeight()
获取此字体中一行文本的标准高度。
我假设您可以从上面弄清楚如何获得宽高比,并且您可以从不同的FontMetrics
方法中获得许多其他信息 - 看看吧。
于 2014-07-02T13:35:24.930 回答