Rotation de texte sous Firemonkey

Pour bien comprendre la logique de rotation de texte en utilisant un TMatrix dans le Canvas d’une image sous Firemonkey, je me suis fait un exemple simple est compréhensible.

J’ai utilisé la version 10.2 Tokyo de Delphi mais avec les version antérieure (minimum XE2) devrait fonctionner.

La seule petite astuce de mon cru c’est d’avoir synchronisé l’angle de rotation d’un TArcDial avec un texte a l’horizontale en mettant par défaut  -90 degrés.

 

En effet si vous regardez ou se trouve la position pour zéro degrés, vous verrez qu’il est positionné a droite au milieu, alors que pour être cohérent avec le positionnement habituel d’un texte il aurai dû se trouver en bas et au centre du TArcDial dont la plage de valeurs vas de -180 à +180 degrés.

J’ai ajouté 9 RadioButton pour pouvoir jouer sur l’alignement aussi bien horizontal que verticale pour le point de rotation par rapport au rectangle contenant le texte.

Pour la cohérence visuel, j’ai mis la valeur a -90 degrés ainsi que dans la calcul de la matrice comme cela la rotation du teste est cohérente entre le texte et le composant TArcDial !

Vous pouvez parfaitement supprimer ma petite modification pour vos besoins bien sur sans que cela ne pose de problème pour l’utilisation d’une matrice de rotation.

Pour mieux voir le résultat, vous pouvez soit télécharger le programme dans une des version 32 ou 64 bits, soit le fichier Zip contenant les sources.

MAJ : J’ai ajouté une ComboBox pour pouvoir choisir l’alignement du texte dans le rectangle de rotation.

TextRotation-32bits
TextRotation-32bits
TextRotation-32bits.zip
3.2 MB
0 Downloads
Détails
TextRotation-64bits
TextRotation-64bits
TextRotation-64bits.zip
3.7 MB
0 Downloads
Détails
FMX-Text-Rotation-sources
FMX-Text-Rotation-sources
FMX-Text-Rotation-sources.zip
56.9 KB
0 Downloads
Détails

Laisser un commentaire