Лучший способ найти реальные границы шрифта - PullRequest
1 голос
/ 15 февраля 2012

Я искал способ найти границы отображаемого текста и столкнулся с методом getStringBounds FontMetrics.Это, кажется, игнорирует спуск какого-либо шрифта и имеет преувеличенное восхождение, так что он возвращает границы, которые не позволяют мне правильно выровнять по вертикали.Я копнул немного глубже и обнаружил, что GlyphVector.getPixelBounds () SEEMS делает то, что я хочу, но я не знаю, могут ли быть какие-то проблемы с его использованием.

Я написал апплет http://breadmilkbeercigarettes.com/bmbc/shelves/users/bbb/src/java/applet/glyphvector.html, который отображает разницу между ними, и, похоже, для моих системных шрифтов он возвращает правильные границы.Кто-нибудь знает, если это дорогостоящий метод или есть другие возможные подводные камни от его использования?FontMetrics никогда не работал правильно для меня.Или, возможно, мои ожидания были неверными.

Спасибо, BBB

1 Ответ

1 голос
/ 15 февраля 2012

GlyphVector имеет метод

public abstract Shape getOutline()
...