Taille de la Police

Résolu
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 30 nov. 2008 à 14:45
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 30 nov. 2008 à 18:48
Bonjour,

Je veux écrire sur une image un texte.
Je me sert de la librairie GD.

J'ai par exemple un carré de 50px sur 100px et je veux écrire un texte ("Le Texte") qui soit si possible centré mais qui utilise la largeur ou hauteur maximum de l'emplacement avec une police particulière que l'on nommera pour l'exemple Arial.
Le texte peut changer, il faut donc qu'il s'adapte et ne pas avoir un bidouillage pour arriver à faire tenir à peu près le texte.

J'ai entendu parler de <gras>http://www.victorlogiciels.com

2 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
30 nov. 2008 à 18:24
Il est possible d'utiliser le HDC de l'écran récupérable avec GetDC(0). Il faudra ensuite sélectionner la police voulue avec SelectObject() en mémorisant la police originale pour pouvoir la restaurer après. On pourra alors calculer les dimensions du texte grâce à DrawText() avec  DT_CALCRECT comme dernier paramètre. Si les dimensions sont trop grandes, on détruit la police et on crée une nouvelle plus petite jusqu'à avoir les bonnes dimensions. Inversement, on crée une plus grande police si les dimensions sont trop petites.
Avec des polices à largeur constantes, il est possible de connaitre les dimensions du texte à partir du nombre de caractères.
3
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
30 nov. 2008 à 18:48
Bonjour,

Je vais essayer cela.

Merci et bonne prog,
@++

Victorhttp://www.victorlogiciels.com
0
Rejoignez-nous