victorcoasne
Messages postés1100Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention17 octobre 2012
-
30 nov. 2008 à 14:45
victorcoasne
Messages postés1100Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention17 octobre 2012
-
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.
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201415 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.