par
bunob » 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.
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);
?>
Merci pour votre aide.
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.
[code]
<?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);
?>
[/code]
Merci pour votre aide.