Geschrieben von lan-ops am 16.03.2005, 17:57

function beschriftung($schrift,$pic){
$text = wordwrap($schrift,20,"\n");//Hier wird der text in die einzelen zeilen zerlegt
$text = explode("\n",$schrift);//Zerlegt die variable schrift in einen array, hier mit kann er mittelt werden wie hoch das schild werden muss
foreach($text as $reihe){// durchleäft die nächsten zeilen so oft wie einträge der Array hat, wo bei "reihe" der jeweilige eintrag des array ist!
$lange[] = strlen($reihe);}
$L = max($lange); //Hier wird die längste Zeile rausgesucht, so mit ist L die anzahl der buchstaben von der längesten reihe
$fontsize = 3;// hier wird Schriftgröze für die aufschrift fest gelegt!
$textbreite = $L * imagefontwidth($fontsize) + 12;//dieses gibt die breite des schildes aus, was nacher der smilie in der hand hat
$texthohe = count($text)*imagefontheight($f)+10;//zählt die zeilen und multipliziert diese mit der text höhe, so mit erhaelt man die höhe des schildes
$id = imagecreatefrompng("pfad/". $pic . ".png");//läd eine png datei, hier bei muss der pfad an den smilie ordner angepasst werden!
$bildbreite = imagesx($id);//gibt die breite des bildes aus
$bildhohe = imagesy($id);//gibt die hohe des bildes aus
$imageID = imagecreate($textbreite,$texthohe+$bildhohe);//erstellt ein neues bild
$hintergrundfarbe = imagecolorallocate($imageID,245,252,255);//schalltet die farbe für den hintergrund frei
$schwarz = imagecolorallocate($imageID,0,0,0);//schaltet die farbe schwarz frei
$weiss = imagecolorallocate($im,255,255,255);//schaltet die farbe weiß frei
imagefill($imageID,0,0,$hintergrundfarbe);//füllt das ganze bild mit der Hintergrund farbe
imagecolortransparent($imageID,$hintergrundfarbe);//setzt die Hntergrung farbe auf tanzparend, also wird diese nicht angezeigt
imagerectangle($imageID,0,0,$textbreite-1,$texthohe,$schwarz); //malt den Rahmen für den text
imagefilledrectangle($im,1,1,$textbreite-2,$texthohe-1,$weiss); //Füllt den bereich den der rahmen um gibt mit weiß
imagecopy($imageID,$id,$textbreite/2-$bildbreite/2,$texthohe,0,0,$bildbreite,$bildhohe);// Kopiert den smilie auf das bild mit dem rahmen
foreach($t as $say){//durchleäft die nächsten zeilen so oft wie einträge der Array hat, wo bei "reihe" der jeweilige eintrag des array ist!
imagestring($imageID,$fontsize,5,$i*imagefontheight($fontsize)*ceil(6/count($text)),$say,$schwarz);//malt die zeile "i" auf das schild
$i++;//addiert 1 zu der variabelen i
}
$zahl = rand(1,15);// generiet eine Zahl zwischen 1 und 15
imagepng($imageID,"smile/{$nr}.png");// speichert das bild
return "<img src=smile/{$nr}.png border=0>";// zeigt das bild an
}

Bewertung Anzahl
6
25,0 %
2 Bewertungen
1
75,0 %
6 Bewertungen