Bonjour à tous,
Ben oui : j'ai quitté l'école il y a longtemps...
Soit une image carrée de 500 x 500 pixels, barrée par une bande en diagonale de gauche à droite dont les coordonnées (x, y) sur l'image sont :
x=25 , y=0
x=55, y=0
x=500, y=470
x=500, y=440
Avec GD et imagettftext(), je souhaite écrire un texte dans cette diagonale.
Et le centrer.
J'ai crée une petite fonction qui centre Y :
Et ça fonctionne, la valeur de Y est ok. La phrase, grâce à l'angle de valeur -45 s'affiche bien en diagonale....mais $X manque. Comment le calculer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function centrage_texte_y($heightIm, $taille_T, $font_TTF, $texte) { $size = imagettfbbox($taille_T,-45,$font_TTF,$texte); $dy = abs($size[5]-$size[1]); $espY = $heightIm - $dy; $y = ($espY / 2); return $y; } //que j'appelle comme ceci : $texte = "Mon texte exemple en diagonale"; $y_centre = centrage_texte_y($height, 16, "fonts/Verdana.ttf", $texte); //écriture du texte dans l'image imagettftext($img, 16, -45, $X, $y_centre, $rouge, "fonts/Verdana.ttf", $texte);
Par rapport à y que je connais ?
Avec le tableau $size que retourne imagettfbbox() ?
Avec un subtil mélange des deux ?
Ben moi je sèche totalement !
![]()







Répondre avec citation
Partager