Java – 没有图形的FontMetrics
如何在不使用Graphics的情况下获取FontMetrics? 我想在构造函数中获取FontMetrics,现在我这样做:
BufferedImage bi = new BufferedImage(5, 5, BufferedImage.TYPE_INT_RGB); FontMetrics fm = bi.getGraphics().getFontMetrics(font); int width = fm.stringWidth(pattern); int height = fm.getHeight();
嗯……你需要图形才能获得FontMetrics是合乎逻辑的。 字体高度,宽度等可以在各种显示器上不同。
如果您有一些Component,可以使用它来获取FontMetrics:
component.getFontMetrics(font);
不,您不一定需要获取/使用图形对象:
Font font = new Font("Helvetica",Font.PLAIN,12); Canvas c = new Canvas(); FontMetrics fm = c.getFontMetrics(font);
如果现在调用c.getGraphics()
,它将返回null。 这个(canvas)也可以在无头模式下工作。