Weiter Zurück [Inhalt] Online Suche im Handbuch

39.16 Bildbearbeitung

Mit PHP3 können wir nicht nur HTML-Text erzeugen, wir können sogar Bilder dynamisch aus der Datenbank liefern. Zum Beispiel können wir eine Datei "bild.php3" erstellen, die ein Bild zurückliefern wird. In diese Datei schreiben wir keine HTML-Befehle, sondern ausschließlich PHP-Befehle. Ein Beispiel:


<?
  Header( "Content-type: image/gif");
  $im = imagecreate(200,100);
  $blue = ImageColorAllocate($im, 0x2c,0x6D,0xAF);
  ImageRectangle($im,0,0,200,100,$blue);
  ImageGif($im);
  ImageDestroy($im);
?>

Ruft man diese Datei auf, so erscheint ein blaues Rechteck. Tut es das nicht, dann hat Ihr Provider vergessen, die Grafikroutinen in den PHP Interpreter einzubinden. Dann können Sie natürlich so kleine Dinge, wie dynamisch beschriftetet Buttons nicht realisieren. Auch eine Bilddatenbank, die automatisch Bilder in andere Pixelformate konvertiert (und abrechnet), lassen sich dann so nicht realisieren.

Natürlich kann diese Datei auch mit:

 

<IMG SRC="bild.php3">

in eine HTML-Seite eingebunden werden. Was bewirken obige Befehle ?

Der Befehl:


  Header( "Content-type: image/gif");

teilt dem Browser mit, daß nun ein GIF-Bild kommen wird. (Um Fehlermeldungen in unserer PHP3-Datei angezeigt zu bekommen, können wir diesen Befehl auch zeitweise auskommentieren, indem man davor ein #-Zeichen setzt.)

Der Befehl:

 

  $im = imagecreate(200,100);

erzeugt ein Bild, das 200 Pixel breit und 100 Pixel hoch ist. Jede Farbe, die wir verwenden wollen, muß zuerst erzeugt werden. Dies geschieht mit dem Befehl:

 

  $blue = ImageColorAllocate($im, 0x2c,0x6D,0xAF);

Dabei bezeichnet $im das Bild, für das wir die Farbe erzeugen wollen, während die restlichen drei Parameter die hexadezimalen RGB-Werte sind. (Man beachte die Schreibweise: 0x2c ergibt den dezimalen Rot-Anteil 36.)

Mit dem Befehl:


  ImageRectangle($im,0,0,200,100,$blue);

zeichnen wir uns ein Rechteck, das bei 0,0 (links oben) beginnt und 200 Pixel nach rechts und 100 Pixel nach unten endet, und in der eben erzeugten Farbe $blue gefüllt ist.

Der Befehl:


  ImageGif($im);

erzeugen zuerst ein GIF-Bild aus der internen Darstellung und sendet es an den Betrachter, während

 

  ImageDestroy($im);

den internen Speicherplatz für das Bild wieder freigibt.

Es gibt nun eine Reihe von weiteren Möglichkeiten. Zum Beispiel kann noch ein Text in das Bild geschrieben werden:


        $white = ImageColorAllocate($im, 255,255,255);
        imagestring($im, 5, 20, 20, "Hallo",  $white);

Der erste Befehl erzeugt weiße Farbe: Man sieht, die RGB-Werte können auch als Dezimal-Werte angegeben werden. Der zweite Befehl schreibt den Text "Hallo" in Schriftgröße 5 beginnend bei Position 20,20 (20 Pixel nach rechts, 20 Pixel nach unten). Die beiden Befehle sollten direkt vor ImageGif($im); stehen.

Wie Sie sehen, können Sie nun dynamisch Bilder generieren, oder Schrift in Bilder bei der Auslieferung hineinkopieren. So könnten Sie jedes Bild für jeden einzelnen Kunden quasi handsignieren !

Vielleicht sagt Ihnen GIMP noch nichts. GIMP ist ein ADOBE PHOTOSHOP Clone, der unter UNIX und Windows läuft. GIMP ist mit denselben Routinen geschrieben worden, die auch für PHP3 verfügabr sind. Sie können also auch die Routinen für Weichzeichner, BLUR ...u.s.w. in PHP3 ansprechen.


Weiter Zurück [Inhalt] Online Suche im Handbuch