我已经阅读了我能找到的所有现有问题,并且已经尝试过两种方式。
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的一行并计算第一个和最后一个黑色像素之间的距离。这至少会让我更接近。
虽然必须有一种更简单的方法。
感谢任何帮助。