1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
// on déclare nos constantes
$text = 'centre de jeunesse régional';
$fontfile = "police.ttf";
$size = 30;
$fontangle = 0;
$textcolor = "000033";
$imagewidth = 500;
$imageheight = 90;
// on determine la taille occupee par le texte
$box = @imagettfbbox($size, $fontangle, $fontfile, $text);
$textwidth = abs($box[4] - $box[0]);
$textheight = abs($box[5] - $box[1]);
// La position du texte dans images
$xcord = ($imagewidth/2)-($textwidth/2)-2;
$ycord = ($imageheight/2-10)+($textheight/2);
// on cree l'image a la bonne taille, avec un peu de marge
$img = imagecreatetruecolor($imagewidth, $imageheight);
//forcer une palette de 256 couleurs & on génère un png 8 bits
imagetruecolortopalette($img, true, 256);
// on alloue les couleurs de fond et de texte
$bg = imagecolorallocate($img, 127, 127, 127);
$fg = imagecolorallocate($img, 0, 0, 0);
// on remplit la couleur de fond, et on la declare transparente
imagefilledrectangle($img, 0, 0, $imagewidth, $imageheight, $bg);
imagecolortransparent($img, $bg);
// on determine la couleur du texte
if( eregi( "([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})", $textcolor, $textrgb ) )
{$textred = hexdec( $textrgb[1] ); $textgreen = hexdec( $textrgb[2] ); $textblue = hexdec( $textrgb[3] );}
$fontcolor = imagecolorallocate($img, $textred, $textgreen, $textblue);
// on ecrit le texte
imagettftext($img, $size, $fontangle, $xcord, $ycord, $fontcolor, $fontfile, $text);
// on renvoie l'image
header('Content-type: image/png');
imagepng($img);
imagedestroy($img); |