Centrage de texte

Résolu
cs_bokc Messages postés 28 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 25 juillet 2008 - 26 juin 2007 à 10:17
cs_bokc Messages postés 28 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 25 juillet 2008 - 26 juin 2007 à 12:20
Bonjour,


Je cherche a centrer un texte (sur un canvas). Je connais le point
central ou le mettre, la police et forcement le texte à ecrire.

 J'arrive à le centrer sur la vertical mais je ne vois pas comment faire pour l'horizontal.


Quelqu'un a une idée?


BokC

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
26 juin 2007 à 11:52
arf horizontal pas vertical !

L'algorithme est le même, mais je le répète: qu'est-ce qui te pose problème ?

Si c'est pour récupèrer la largeur du texte en pixel, il faut passer par un TextLayout (voir dans ma dernière source : dksWordArt) le tracé du wordart dans le draw de la classe CWordArt (il me semble que c'est là).
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
26 juin 2007 à 11:31
C'est quoi qui te pose problème pour l'horizontal ?

Quel est l'algorithme que tu utilise ?

Il s'agit de : (HauteurCanvas - HauteurTexte) / 2
0
cs_bokc Messages postés 28 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 25 juillet 2008
26 juin 2007 à 11:47
Non ca ca va. C'est plutot dans l'autre sens puisque je ne connait pas la largeur de mon texte.
0
cs_bokc Messages postés 28 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 25 juillet 2008
26 juin 2007 à 12:12
Oui c est ca. C est la largeur en pixel de mon texte qui me pose probleme.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bokc Messages postés 28 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 25 juillet 2008
26 juin 2007 à 12:20
Merci pour l'info.
Voila ce que ca donne avec un TextLayout :

Font font = new Font("Arial", Font.PLAIN, sizeFont);
FontRenderContext frc = g2.getFontRenderContext();
TextLayout layout = new TextLayout(x + ";" + y, font, frc);
layout.draw(g2, (int)(xCenter-layout.getBounds().getWidth()/2), (int)(yCenter + layout.getBounds().getHeight()/2));
0