Dimensions de texte avec Java FontMetrics


Je dessine actuellement une chaîne sur un canevas avec une police spécifiée. Je voudrais cependant mettre à l'échelle cette police en fonction de la taille de la fenêtre.

Étant donné une chaîne cible, comment trouver la taille du point d'une face de police particulière afin que l'impression de la chaîne cible soit h unités de hauteur ou w unités de largeur? Existe-t-il une relation linéaire entre la taille des points et les dimensions des polices?

Je peux penser à des moyens très malodorants de déterminer une taille de point relative (choisissez une taille arbitraire et rétrécir / grandir jusqu'à ce que les dimensions soient dans un certain epsilon de la cible), mais préférerait le faire plus proprement.

Je veux le faire avec des polices uniquement, si possible, et ne pas recourir à des transformations affines.

Author: efritz, 2012-05-15

1 answers

De la meilleurs métriques, je préfère TextLayout, illustré ici, mais deriveFont(), suggéré par @StanislavL parmi les réponses ici, est étonnamment agile et pas du tout malodorantes.

 3
Author: trashgod, 2017-05-23 12:20:17