[Résolu]Problème avec imagerotate()

Koxin-L

WRInaute passionné
Bonjour,

Voici ci-dessous un bout de code qui doit afficher un texte verticalement.

Si je commente la ligne
Code:
//$im = imagerotate($im, 90, $white);
Le code fonctionne, sans rotation, évidemment, cf : http://www.raikkonen-f1.com/test-image-php.php

Si je décommente la ligne, ca ne fonctionne plus. Pas d'erreur, mais pas d'image. cf : http://www.raikkonen-f1.com/test-image-php2.php

Je suis en mutu chez Sivit, GD enable 2.0 ou + et PHP4.4.7

Merci

Code:
<?php
header ("Content-type: image/png");

// On récupère les valeurs passées dans l'URL
$texte=$_REQUEST['texte'];
// On choisit la police à utiliser
$font = "./TT0373M_.TTF";

$size = imagettfbbox(14,0,$font,$texte);
$dx = abs($size[2]-$size[0]);
$dy = abs($size[5]-$size[3]);
$xpad=9;
$ypad=12;

$im = imagecreate($dx+$xpad,$dy+$ypad);

$white = ImageColorAllocate($im,255,255,255);
$gris = ImageColorAllocate($im,235,235,235);

ImageTTFText($im, 14, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $gris, $font, $texte);

$im = imagerotate($im, 90, $white);
imagepng($im);
imagedestroy($im);
?>



Posté sur PHPFrance, mais ça mène à rien, donc, je tente ici, chez les moins pro :mrgreen:
On ne sait jamais...


Voilà, c'était ma question chiante de fin d'année...
Demain je fais la bouffe, pas le temps de me pignoler sur WRI, désolé... :twisted:
 

SuperCureuil

WRInaute impliqué
Pourquoi tu t'amuses à écrire ton texte horizontalement pour le retourner ensuite ?

Tu vires la rotation, tu modifies les dimensions de l'image et l'inclinaison du texte à 90 pour écrire verticalement et ça sera plus simple non ?

Je ferais comme ça (sans avoir touché aux dimensions):

Code:
<?php
header ("Content-type: image/png");

// On récupère les valeurs passées dans l'URL
$texte=$_REQUEST['texte'];
// On choisit la police à utiliser
$font = "./TT0373M_.ttf";

$size = imagettfbbox(14,0,$font,$texte);
$dx = abs($size[2]-$size[0]);
$dy = abs($size[5]-$size[3]);
$xpad=9;
$ypad=12;

$im = imagecreatetruecolor($dx+$xpad,$dy+$ypad);

$white = ImageColorAllocate($im,255,255,255);
$gris = ImageColorAllocate($im,235,235,235);

//Remplissage de l'image en blanc
imagefill($im,0,0,$white);

ImageTTFText($im, 14, 90, (int)($xpad/2), $dy+(int)($ypad/2)-1, $gris, $font, $texte);

imagepng($im);
imagedestroy($im);
?>

Et joyeux réveillon !
++
 

Koxin-L

WRInaute passionné
Ahhh, j'aime la nature...
Merci l'ecureuil.

Dingue de ne pas y avoir pensé...
J'étais surement trop bloqué sur ce ImageRotate.
 

Discussions similaires

Haut