【发布时间】:2012-02-15 02:33:59
【问题描述】:
我正在寻找一种方法来查找渲染文本的边界,但遇到了 FontMetrics getStringBounds 方法。这似乎忽略了某些字体的下降并且有一个夸张的上升,因此它返回一个不允许我正确垂直对齐的边界。我挖得更深了,发现 GlyphVector.getPixelBounds() 似乎可以做我想做的事,但我不知道使用它是否会出现一些问题。
我写了一个小程序http://breadmilkbeercigarettes.com/bmbc/shelves/users/bbb/src/java/applet/glyphvector.html,它显示了两者之间的差异,而且对于我的系统字体,它似乎返回了正确的边界。有谁知道这是否是一种昂贵的方法,或者使用它是否还有其他可能的陷阱? FontMetrics 似乎从来没有对我正常工作。或者也许我对它的期望是错位的。
谢谢, BBB
【问题讨论】:
-
也可以使用
TextLayout查看comparison。
标签: java swing graphics2d fontmetrics swingutilities