Einführung in die gdLibrary (gdLib)

Die ersten Schritte

Ist die Basis geschaffen und php und gdLib funktionieren, können wir loslegen. Erstellen wir als erstes doch einmal ein kleines Bild mit integriertem Text. So tasten wir uns langsam an die Funktionalität der gdLib heran.

Mein erstes Bild

Als erstes senden wir dem Browser einen header, damit er uns das erstellte Dokument (die php-Datei) als PNG-Bild direkt ausgibt und nicht als Text / HTML. Dies geschieht mit header('Content-type: image/png'). Mit imagecreate() erzeugen wir nun ein neues Bild und weisen diesem gleich die Variabel $image zu. Das zunächst leere Bild wartet nun im internen Speicher (meist /tmp) auf die weitere Verarbeitung.
Den Hintergrund des Bildes fräben wir mit imagecolorallocate() hellblau.
Als nächstes erstellen wir mit imagestring() einen String, dem wir zuvor mit imagecolorallocate() eine Farbe zuweisen.
Schließlich geben wir das fertige Bild mit imagepng() direkt an den Browser aus.

Tipp

Vor dem header() darf keine Ausgabe, zum Beispiel durch echo erfolgen, da sonst ein unleserlicher Code gesendet wird. Ist dies bei euch der Fall, prüft, ob php überhaupt funktioniert, oder eine .htaccess-Datei die Ausgabe unterbindet.

Der Code:

  1. <?php
  2.  
  3. // Dem Browser mitteilen, dass nun ein Bild kommt
  4. header('Content-type: image/png');
  5. // Bild erzeugen und temporär speichern
  6. $image = @imagecreate(150, 100);
  7. // Hintergrundfarbe definieren (RGB)
  8. imagecolorallocate($image, 250, 250, 200);
  9. // Textfarbe definieren (RGB)
  10. $text_color = imagecolorallocate($image, 0, 51, 102);
  11. // Text in das Bild schreiben
  12. imagestring($image, 2, 5, 5, 'Mein erstes Bild', $text_color);
  13. // Ausgabe des Bildes im Browser
  14. imagepng($image);
  15.  
  16. ?>
Das Ergebnis: Unser restes Bild mit integriertem Text.
Die wichtigsten Befehle kurz im Überblick
  • imagecreate
    imagecreate(Breite in px (x), Höhe in px (y))
    Erzeugt ein neues Bild
  • imagecolorallocate
    imagecolorallocate($image, Farbwert Rot, Grün, Blau)
    Bestimmt die Farbe einer Grafik
  • imagestring
    imagestring($image, font, x, y, text, farbe)
    Zeichnet einen horizontalen String
  • imagepng
    imagepng($image[, filename])
    Ausgabe eines Bildes im Format PNG an den Browser oder in eine Datei
Downloads

Einführung in die gdLib | Version 2.0 alpha | 2005-10-07