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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| <?php
/***************************************************************************
* Génère une image de signature, avec un texte tiré aléatoirement *
* et 2 smileys *
***************************************************************************/
//Variables de personnalisation
$taille_texte = 3; #taille du texte
/* smileys aléatoires */
$aleasmileys = array( #smileys PNG de 32*32 px
"smile.png",
"smile2.png",
"smile3.png",
"smile4.png",
"smile5.png",
"smile6.png",
);
$color_txt1 = array("150", "0", "255"); # couleur texte 1
$color_txt2 = array("255", "0", "0"); # couleur texte 2
$color_border = array("255", "0", "0"); # couleur de bordure
$color_backgrnd = array("10", "10", "10"); # couleur de fond
/* textes aléatoires */
$aleatextes = array(
"La prediction est difficile, surtout lorsqu'elle concerne l'avenir !",
"Skinhead aux cheveux longs, c'est l'émancipation !",
"Tout ce que je sais, c'est a mon ignorance que je le dois.",
"A vaincre sans mérite, on triomphe quand même.",
"Faut pas vendre la peau de l'ours. Non, faut pas.",
"Don't keep them steal your dreams ...",
"C'est au pied du mur ... qu'on voit le mieux le mur.",
);
/* Pseudo affiché en bas à droite */
$pseudo = "c@c";
//Fin des variables
// Initialisation du générateur aléatoire
function make_seed() {
// initialise avec les microsecondes
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed()); // Inutile depuis PHP 4.2.0, mais on sait jamais ... les hébergeurs ont-ils tous PHP >= 4.2.0 ?
// Sélection aléatoire du texte
$num = rand(0, (count($aleatextes)-1));
$texte = $aleatextes[$num];
// Sélection aléatoire des 2 smileys
$num1 = rand(0, (count($aleasmileys)-1));
$smiley = $aleasmileys[$num1];
$num2 = rand(0, (count($aleasmileys)-1));
// Ne pas avoir les deux mêmes smileys ...
while($num2 == $num1)
{
$num2 = rand(0, (count($aleasmileys)-1));
}
$smiley2 = $aleasmileys[$num2];
// Construction de l'image
// Type MIME
header ("Content-type: image/png");
// Pas de cache
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // toujours modifié
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache");
// Dimensions de l'image :
$img_width = 600;
$img_height = 60;
//Créer l'image
$im = @imagecreate($img_width, $img_height) or die ("Impossible d'initialiser la librairie GD");
// Fond et couleur de texte
imagecolorallocate($im, $color_backgrnd[0], $color_backgrnd[1], $color_backgrnd[2]); // background
$color_border = imagecolorallocate($im, $color_border[0], $color_border[1], $color_border[2]);
imageline($im, 0, 0, $img_width, 0, $color_border); // Bordure horizontale supérieure
imageline($im, 0, 0, 0, $img_height, $color_border); // Bordure verticale de gauche
imageline($im, 0, $img_height-1, $img_width-1, $img_height-1, $color_border); // Bordure horizontale inférieure
imageline($im, $img_width-1, 0, $img_width-1, $img_height-1, $color_border); // Bordure verticale de droite
imagecopy($im, imagecreatefrompng($smiley), 9, 9, 0, 0, 32, 32); // Premier smiley
imagecopy($im, imagecreatefrompng($smiley2), $img_width-(32+9), 9, 0, 0, 32, 32); // Deuxième smiley
// Texte
imagestring ($im, $taille_texte, 60, 15, $texte, imagecolorallocate($im, $color_txt1[0], $color_txt1[1], $color_txt1[2]));
imagestring ($im, $taille_texte, $img_width - 110, $img_height - 25, $pseudo, imagecolorallocate($im, $color_txt2[0], $color_txt2[1], $color_txt2[2]));
// Création du PNG
imagepng ($im);
?> |
Partager