2012-02-15 2 views
1

Je cherchais un moyen de trouver les limites sur le texte rendu et j'ai rencontré la méthode FontMetrics getStringBounds. Cela semble ignorer la descente de certaines polices et a une ascension exagérée de sorte qu'il renvoie une limite qui ne me laisse pas aligner verticalement correctement. J'ai creusé un peu plus loin et j'ai trouvé que GlyphVector.getPixelBounds() semble faire ce que je veux, mais je ne sais pas s'il pourrait y avoir quelques problèmes avec son utilisation.Meilleur moyen de trouver des limites réelles de la police

J'ai écrit un applet http://breadmilkbeercigarettes.com/bmbc/shelves/users/bbb/src/java/applet/glyphvector.html qui affiche la différence entre les deux, et il semble que pour mes polices système, il renvoie les bonnes limites. Est-ce que quelqu'un sait si c'est une méthode coûteuse ou s'il y a d'autres pièges possibles de l'utiliser? FontMetrics n'a jamais semblé fonctionner correctement pour moi. Ou peut-être que mes attentes à ce sujet étaient mal alignées.

Merci, BBB

+1

Voir aussi cette [comparaison] (http://stackoverflow.com/a/5998117/230513) en utilisant 'TextLayout'. – trashgod

Répondre

1

GlyphVector a la méthode

public abstract Shape getOutline() 
Questions connexes