找到字体真实边界的最佳方法

时间:2012-02-15 02:33:59

标签: java swing graphics2d fontmetrics swingutilities

我一直在寻找一种方法来查找渲染文本的边界并遇到FontMetrics getStringBounds方法。这似乎忽略了某些字体的下降并且有一个夸大的上升,因此它返回一个不允许我正确垂直对齐的边界。我挖得更深一点,发现GlyphVector.getPixelBounds()SEEMS做我想做的事,但我不知道使用它是否有些问题。

我编写了一个applet http://breadmilkbeercigarettes.com/bmbc/shelves/users/bbb/src/java/applet/glyphvector.html来显示两者之间的差异,而且对于我的系统字体来说,它似乎返回了正确的边界。有谁知道这是一种代价高昂的方法,还是因为使用它还有其他可能的陷阱? FontMetrics似乎对我来说似乎没有正常工作。或者也许我对它的期望是错位的。

谢谢, BBB

1 个答案:

答案 0 :(得分:1)

GlyphVector有方法

public abstract Shape getOutline()