Dom*_*chi 5 java fonts swing fontmetrics
我需要找到屏幕上绘制的文本的宽度.此线程表明FontMetrics.stringWidth()有时不如FontMetrics.getStringBounds()准确.
有谁知道这是否正确,如果是,在哪种情况下这种差异可见?FontMetrics.stringWidth()似乎更频繁地使用,包括在SwingUtilities.computeStringWidth()中.此外,明显的优点是它不需要Graphics对象,但这本身结合了在Graphics对象中定义抗锯齿和类似设置的事实可能解释为什么FontMetrics.getStringBounds()可能更准确.
getStringBounds有更多的信息可以使用,因为它传递了一个Graphics.它可以用它来计算子像素字形位置,并考虑抗锯齿对字形大小的影响.从FontRenderContext的文档:
由于四舍五入到像素边界,应用程序指定的抗锯齿和分数度量也会影响字符的大小.