如何找到字符串的宽度(以像素为单位)

时间:2018-01-12 16:44:51

标签: java

我已经阅读了我能找到的所有现有问题,并且已经尝试过两种方式。

FontMetrics fm = g.getFontMetrics();
FontRenderContext frc = g.getFontRenderContext();
Rectangle2D rect = font.getStringBounds(line,frc);
int width = (int)rect.getWidth();

以及

int width = fm.stringWidth(line);

两者都没有给我正确的像素数。 例如......特定字体和大小的“ELLIS”一词实际上是58像素宽。 这两种方法都告诉我它是42宽。

它在白色字段上的黑色字体,所以我正在考虑重新安排我的整个代码,以便我可以遍历BufferedImage的一行并计算第一个和最后一个黑色像素之间的距离。这至少会让我更接近。

虽然必须有一种更简单的方法。

感谢任何帮助。

0 个答案:

没有答案