[Résolu] Générer un texte sur une image
Posté : 21 mai 2012, 19:40
Bonjour,
Je suis sûr que ce n'est qu'une bête erreur de syntaxe mais je bloque depuis 3 heures dessus.
Le script suivant ne génère qu'une image sans le texte.
Je ne vois pas ce qui ne vas pas.
Merci pour votre aide.
Je suis sûr que ce n'est qu'une bête erreur de syntaxe mais je bloque depuis 3 heures dessus.
Le script suivant ne génère qu'une image sans le texte.
Je ne vois pas ce qui ne vas pas.
Code : Tout sélectionner
<?php
header("Content-type: image/png");
// Récupération des valeurs
$height = (!empty($_GET['height']))?$_GET['height']:200;
$text = (!empty($_GET['service']))?$_GET['service']:'Service';
// Génération de l'image
$image = imagecreatetruecolor(40, $height);
// Conversion code couleur HTML vers RGB
$color = "CCCCCC";
$rouge = hexdec(substr($color,0,2));
$vert = hexdec(substr($color,2,2));
$bleu = hexdec(substr($color,4,2));
// imagecolorallocate (resource $image ,int $red ,int $green ,int $blue)
$color = imagecolorallocate($image, $rouge, $vert, $bleu);
// Modifier la variable d'environnement pour GD (police ttf dans le rep du script)
putenv('GDFONTPATH=' . realpath('.'));
$size = 14;
$angle = 90;
$font = 'verdana';
//Calcule la longueur et la largeur du texte
$bbox = imagettfbbox ($size, $angle, $font, $text);
$textWidth = $bbox[2] - $bbox[0]+1;
$textHeight = $bbox[3] - $bbox[7]+1;
//ajuste la position horizontale pour centrer
$x -= $textWidth;
$x /= 2;
//ajuste la position verticale pour centrer
$y -= $textHeight;
$y /= 2;
// Normalement écrit sur l'image
imagettftext ($image, $size, $angle, $x, $y, $color, $font, $text);
//renvoie une image sous format png
imagepng($image);
//détruit l'image pour libérer l mémoire
imagedestroy($image);
?>