Smiliegenerator
Das Script ist der Quellcode
für einen Smilie Generator. Selber zumachen sind die Smilies wie auch das
Formular dafür. Sonst ist alles dabei schon fertig.
|
Script: |
function
schild($text,$bild)
{
//Zeilenweises auslesen:
$t =
wordwrap($text,20,"\n");
$t =
explode("\n",$t);
//längste Zeile bestimmen
foreach($t
as $tx)
{
$len[]
= strlen($tx);
}
$l =
max($len);
//l = längste Zeile
$f =
3;
$tb =
$l *
imagefontwidth($f)
+ 12;
//tb - Breite des Tabs, 12 px
Pufferzone
$th =
count($t)*imagefontheight($f)+10;
//th - höhe des Tabs,10 px
Pufferzone
$org =
imagecreatefrompng("smile/".
$bild .
".png"); //Einlesen
der Vorlage
/* Einlesen der Breite und Höhe der Vorlage */
$ow =
imagesx($org);
$oh =
imagesy($org);
/* Outputbild mit den Maßen tb*(th+oh)
*/
$im =
imagecreate($tb,$th+$oh);
$bg =
imagecolorallocate($im,245,252,255);
$schwarz =
imagecolorallocate($im,0,0,0);
$weiss =
imagecolorallocate($im,255,255,255);
imagefill($im,0,0,$bg);
imagecolortransparent($im,$bg);
imagerectangle($im,0,0,$tb-1,$th,$schwarz);
//Rahmen, 1px
imagefilledrectangle($im,1,1,$tb-2,$th-1,$weiss);
//Fläche im Rahmen weiss füllen
imagecopy($im,$org,$tb/2-$ow/2,$th,0,0,$ow,$oh);//kopiere
0+ow,0+oh der Vorlage nach im an Tab/2-Vorlage/2,höhe des
Tabs.
foreach($t
as $say)
{
imagestring($im,$f,5,$i*imagefontheight(f)*ceil(6/count($t)),$say,$schwarz);
$i++;
}
$nr =
rand(1,15);
imagepng($im,"smile/{$nr}.png");
return "<img src=smile/{$nr}.png
border=0>";
}
?>
|
|
|