le cancre
Messages postés292Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention27 novembre 2009
-
28 oct. 2006 à 12:26
le cancre
Messages postés292Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention27 novembre 2009
-
29 oct. 2006 à 11:10
Salut à tous,
Le but de mon programme c'est d'écrire un caractere ou une phrase
dans la picturebox...
on va prendre l'exemple d'une picturebox avec un width x et un height y
(j'utilise l'api CreateFont (pour ma police) et l'api TextOut pour écrire dans la picturebox.)
le caractere ou ma phrase doit prendre toute la place de la picturebox, une police qui s'adapte....
les caracteres ont la meme hauteur que la picturebox..la phrase meme si elle est longue, elle doit tenir dans la picturebox
à une police de 20;la taille d'un caractere est de 0,35
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 28 oct. 2006 à 12:35
Utilise la fonction DrawText plutôt qui te permet de calculer le rectangle englobant le texte : tant que le rectangle est plus grand que la taille du picturebox, alors réduire la police...
le cancre
Messages postés292Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention27 novembre 2009 28 oct. 2006 à 12:47
Re,
DrawText ne gère pas la hauteur des caractères mais juste la longueur, j'ai tenté de faire toutes les combinaisons possible avec ..
elle donne juste une police pour la longueur des caractères
j'ai besoin d'avoir les 2, longueur et hauteur
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 28 oct. 2006 à 13:07
Si si, il me semble bien que la fonction gère la hauteur et la largeur pour le rectangle englobant (il faut utiliser le flag DT_CALCRECT), en tout cas je m'en suis déjà servit pour ce genre de chose (calcul de la taille de police optimale pour rentrer dans un rectangle).
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 oct. 2006 à 13:45
Bonjour,
1) tu as raison d'utiliser TextOut
2) tu as raison de "jouer" avec l'espacement de la police
3) il te faut également "calculer" un peu. TextWidth et Textheight t'y aideront (aide en ligne), mais tu peux les calculer également par API.
Tout le reste n'est que pure arithmétique....
Vous n’avez pas trouvé la réponse que vous recherchez ?
le cancre
Messages postés292Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention27 novembre 2009 29 oct. 2006 à 11:10
Lu DARSIDIOUS et jmfmarques : )
en ce moment je suis sur un projet qui me prend toutes mes nuits, dés que j'ai fini....j'vais tenté ta méthode Dark
jmfmarques,
j'ai passé 6 mois à faire cette source(10 000 lignes de code) et je l'ai abandonné à cause du problème de police...
j'utilise GetTextExtentPoint32 pour connaitre le textwidth et heightText ....mais rien à faire....mon cerveau à du mal!!!
j'arrive pas à cette fonction qui me donne la bonne taille de police
voici mon ancienne technique :
rapport = (PoliceTaille.Text * 0.35) / Pic.Width
quand j'augmente la taille de la pic ,je fais ca pour trouver la bonne police à mettre
quand c'est un mot ou une petite phrase,cette operation marche bien
j'ai le bon rapport... mais quand il s'agit d'une longue phrase, j'ai un dépassement de caractères