TEST geht nix?

<?php //Wichtig erste Zeile und kein leerzeichen davor!!!

// Bemerkung: Die Idee mit dem cache ist von Kristian Köhntopp
// siehe http://db.geocrawler.com/archives/3/1/1999/3/0/1367510/
// Der Rest ist aus dem php-Buch von Markt&Technik und aus meinem Kopf :-)
// Michael Stahmann - web-xact <website-development> http://web-xact.de
// eMail: Michael@Stahmann.de

// Struktur
// root
//  |
//  |- dynimg               Dieses Script (image5.php3) + 
//        |                 Zum einbinden der Palette (pal.php3)
//        |- cache          Zwischenspeicher für bereits erzeugte Bilder
//        |- fonts          Hierein die TrueType-Schriften kopieren
//        |- pal            Hier liegen die Farbpaletten

// Aufruf mit: <img scr="../dynimg/image.php3?f=arial&s=18&u=1&t=Dies+ist+ein+Text">
//             f="Schriftart" im Verzeichnis fonts
//             s="Groesse" in px
//             u="1" wenn unterstrichen werden soll
//             it="1" Gif-Bild = interlaced
//             tp="1" Gif-Bild = transparent
//             v="0" Index für Vordergrund
//             h="216" Index für Hintergrund
//             t="Text" der ausgegeben werden soll


            // Erzeuge content-type header für GIF-Bild
            Header("Content-type: image/gif");

            // Der Pfad zum cache

            $cachepath = "cache";

            // Die Farbpalette (hier Websicher)

            $pal = "pal/netscape.csv";
            
            // Dieses Bild muß einen einmaligen Namen haben - wir generieren mit md5
            // aus dem einz. Angaben zum Bild 

            if (!isset ($s)) $s="12";            // Ohne Angabe Grösse 12
            if (!isset ($f)) $f="arial";    // Ohne Angabe Schrift Arial
            if (!isset ($u)) $u="0";        // Ohne Angabe nicht unterstrichen    
            if (!isset ($tp)) $tp="nein";    // Ohne Angabe nicht transparent    
            if (!isset ($it)) $it="nein";    // Ohne Angabe non interlaced    
            if (!isset ($t)) $t="Dies ist ein Text";    // Ohne Angabe von Text zum testen    
            if (isset ($v) or isset ($h)) include ("pal.php3"); //Wenn gewunscht Palette einladen
            if (!isset ($v)) {
             $vr=0;    // Ohne Angabe 
             $vg=0; // machen wir den
             $vb=0; // Text Schwarz
            }
            else { //Palette anwenden

             $vr=$farbe[$v]["r"];
             $vg=$farbe[$v]["g"];
             $vb=$farbe[$v]["b"];

             }

            if (!isset ($h)) {
             $hr=255;    // Ohne Angabe 
             $hg=255; // machen wir den
             $hb=255; // Hintergund Weis
            }
            else {     //Palette anwenden
            $hr=$farbe[$h]["r"];
            $hg=$farbe[$h]["g"];
            $hb=$farbe[$h]["b"];
               } 

            $mt = $t.$s.$f.$u.$tp.$it.$h.$v;
            $hash = md5($mt);
            $hashpath = "$cachepath/$hash.gif";
          
            //Bildgroesse ermitteln und umrechenen
            
            $size = ImageTTFBBox ($s, 0, "fonts/$f.ttf" , $t);

            $dx = abs ($size[2] - $size[0]);
            $dy = abs ($size[5] - $size[3]);
            
            //Weil Kleinbuchstaben wie g,j,p,q und y größeres Bild erfordern            
            if(ereg('g|j|p|q|y',$t)) 
            {$dz = (int)($s/3); 
             $dz2 = (int)($s/15);
            }
            else {
            
            $dz=(int)($s/6);
            $dz2 = (int)($s/20);
            }

            
            // Prüfen, ob Bild schon generiert, wenn ja
            // schicken wir das statische Bild...
          
          
          if (file_exists($hashpath)) {
            readfile($hashpath);
            exit;
          }

             // Wenn Bild noch nicht erstellt
            // dann machen wir das jetzt...
            $im = imagecreate($dx + $dz + ($dz2*2) ,$dy + $dz);

            //Farben für Vorder- und Hintergrund
            $hgfarbe = ImageColorAllocate($im, $hr,$hg,$hb);
            $vgfarbe = ImageColorAllocate($im, $vr,$vg,$vb);

            // True-Type Schrift erzeugen
            ImageTTFText($im, $s ,0,(int)($dz/2), $dy + $dz2 , $vgfarbe, "fonts/$f.ttf", $t);

            // Das Bild wird unterstrichen wenn u=1

            if ($u == 1) ImageLine ($im, (int)($dz/2), $dy+$dz2+1, ($dx+$dz) ,$dy+$dz2+1, $vgfarbe);


            //  Gif Bild => interlaced
            if ($it == 1) imageinterlace ($im,1);

             // Hintergrund trasparent machen
            if ($tp == 1) imagecolortransparent ($im, $hgfarbe);
 
            // Hier wird das Bild gespeichert

            ImageGif($im, $hashpath);
            ImageDestroy($im);

            // Das Generierte Bild wird geladen
            readfile($hashpath);

//Wichtig: Letzte Zeile und kein Leerzeichen danach!!!
?>