# Bildbearbeitung und GD

# Einführung

Mit PHP können Sie nicht nur HTML ausgeben, sondern auch Grafiken in vielen Formaten wie GIF, PNG, JPEG, WBMP und XPM erzeugen und/oder manipulieren. Noch besser, Sie können Grafiken mit PHP direkt als Datenstrom ausgeben. Damit das funktioniert, müssen Sie PHP mit der GD-Bibliothek zur Grafikbearbeitung kompilieren. GD und PHP benötigen, je nachdem mit welchen Grafikformaten Sie arbeiten wollen, zusätzliche Bibliotheken.

Sie können die Grafikfunktionen in PHP auch verwenden, um die Größe von JPEG-, GIF-, PNG-, SWF-, TIFF- und JPEG2000-Grafiken zu bestimmen.

Mittels der exif-Erweiterung können Sie die in den Headern von JPEG- und TIFF-Grafiken enthaltenen Informationen verarbeiten. Auf diese Weise können von Digitalkameras erstellte Metadaten verarbeitet werden. Die Exif-Funktionen benötigen die GD-Bibliothek nicht.

> Hinweis: Im Abschnitt über die Anforderungen können Sie nachlesen, wie Sie die Möglichkeiten der Bildbearbeitung zum Lesen, Schreiben und Manipulieren von Bildern erweitern können. Um Metadaten von Bildern auszulesen, die mit einer Digitalkamera aufgenommen wurden, wird die bereits erwähnte exif-Erweiterung benötigt.

> Hinweis: Für die Funktion getimagesize() wird die GD-Bibliothek nicht benötigt.

Achtung

Während die gebündelte Version der GD-Bibliothek den Zend-Speichermanager zur Allokation von Speicher verwendet, tun dies die Systemversionen nicht, sodass memory_limit ignoriert wird.

GD unterstützt viele Formate. Nachfolgend eine Liste aller von GD unterstützten Formaten und Hinweise zu Verfügbarkeit und Lese-/Schreibunterstützung.

Von GD unterstützte Formate
Format | Lesen | Schreiben | Anmerkungen
--- | --- | --- | ---
JPEG | `true` | `true` |
PNG | `true` | `true` |
GIF | `true` | `true` |
XBM | `true` | `true` |
XPM | `true` | `false` |
WBMP | `true` | `true` |
WebP | `true` | `true` |
BMP | `true` | `true` | Verfügbar seit PHP 7.2.0

Obwohl die meisten Formate in der obigen Tabelle sowohl zum Lesen als auch zum Schreiben verfügbar sind, bedeutet dies nicht, dass die Unterstützung in PHP einkompiliert ist. Welche Formate dies sind und wie PHP mit Unterstützung für diese kompiliert werden kann, zeigt die Funktion gd_info(). Weitere Informationen zu diesem Thema sind im Kapitel Installation zu finden.

- Installation/Konfiguration
  - Anforderungen
  - Installation
  - Laufzeit-Konfiguration
  - Ressource-Typen
- Vordefinierte Konstanten
- Beispiele
  - PNG erzeugen mit PHP
  - Wasserzeichen mit Hilfe von Alpha-Kanälen zufügen
  - Erstellen eines transparenten Wasserzeichens mit imagecopymerge
- GD- und Image-Funktionen
  - gd_info — Liefert Informationen über die aktuell verwendete GD-Bibliothek
  - getimagesize — Liefert die Größe einer Grafik
  - getimagesizefromstring — Liefert die Größe einer Grafik aus einer Zeichenkette
  - image_type_to_extension — Get file extension for image type
  - image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  - image2wbmp — Gibt das Bild im Browser oder einer Datei aus.
  - imageaffine — Return an image containing the affine transformed src image, using an optional clipping area
  - imageaffinematrixconcat — Concatenate two affine transformation matrices
  - imageaffinematrixget — Get an affine transformation matrix
  - imagealphablending — Set the blending mode for an image
  - imageantialias — Should antialias functions be used or not
  - imagearc — Zeichnet einen Bogen
  - imageavif — Gibt das Bild im Browser oder einer Datei aus.
  - imagebmp — Output a BMP image to browser or file
  - imagechar — Zeichnet ein horizontal ausgerichtetes Zeichen
  - imagecharup — Zeichnet ein vertikal ausgerichtetes Zeichen
  - imagecolorallocate — Alloziert eine Farbe für eine Grafik
  - imagecolorallocatealpha — Allocate a color for an image
  - imagecolorat — Liefert den Farbwert eines Bildpunktes
  - imagecolorclosest — Ermittelt den Index der Farbe, die der angegebenen Farbe am nächsten kommt
  - imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha
  - imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness
  - imagecolordeallocate — Löscht eine Farbdefinition
  - imagecolorexact — Ermittelt den Index-Wert der angegebenen Farbe
  - imagecolorexactalpha — Get the index of the specified color + alpha
  - imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version
  - imagecolorresolve — Ermittelt den Index-Wert der angegebenen Farbe oder die nächstmögliche Alternative dazu
  - imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative
  - imagecolorset — Setzt die Farbe für den angegebenen Paletten-Index
  - imagecolorsforindex — Ermittelt die Farbwerte eines Palettenindex
  - imagecolorstotal — Ermittelt die Anzahl der Farben in der Palette eines Bildes
  - imagecolortransparent — Definiert eine Farbe als transparent
  - imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
  - imagecopy — Kopiert einen Bildausschnitt
  - imagecopymerge — Copy and merge part of an image
  - imagecopymergegray — Copy and merge part of an image with gray scale
  - imagecopyresampled — Copy and resize part of an image with resampling
  - imagecopyresized — Kopieren und Ändern der Größe eines Bild-Teiles
  - imagecreate — Erzeugt ein neues Palettenbild
  - imagecreatefromavif — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefrombmp — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefromgd — Create a new image from GD file or URL
  - imagecreatefromgd2 — Create a new image from GD2 file or URL
  - imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL
  - imagecreatefromgif — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefromjpeg — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefrompng — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefromstring — Create a new image from the image stream in the string
  - imagecreatefromtga — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefromwbmp — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefromwebp — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefromxbm — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatefromxpm — Erzeugt ein neues Bild aus einer Datei oder URL
  - imagecreatetruecolor — Create a new true color image
  - imagecrop — Crop an image to the given rectangle
  - imagecropauto — Crop an image automatically using one of the available modes
  - imagedashedline — Zeichnet eine gestrichelte Linie
  - imagedestroy — Löscht ein Bild
  - imageellipse — Draw an ellipse
  - imagefill — Flutfüllung
  - imagefilledarc — Draw a partial arc and fill it
  - imagefilledellipse — Draw a filled ellipse
  - imagefilledpolygon — Zeichnet ein gefülltes Polygon
  - imagefilledrectangle — Zeichnet ein gefülltes Rechteck
  - imagefilltoborder — Füllt einen Bereich mit einer bestimmten Farbe
  - imagefilter — Applies a filter to an image
  - imageflip — Flips an image using a given mode
  - imagefontheight — Ermittelt die Höhe einer Schriftart
  - imagefontwidth — Ermittelt die Breite einer Schriftart
  - imageftbbox — Give the bounding box of a text using fonts via freetype2
  - imagefttext — Write text to the image using fonts using FreeType 2
  - imagegammacorrect — Wendet eine Gamma-Korrektur auf ein GD-Bild an
  - imagegd — Output GD image to browser or file
  - imagegd2 — Output GD2 image to browser or file
  - imagegetclip — Get the clipping rectangle
  - imagegetinterpolation — Get the interpolation method
  - imagegif — Gibt das Bild im Browser oder einer Datei aus.
  - imagegrabscreen — Captures the whole screen
  - imagegrabwindow — Captures a window
  - imageinterlace — Aktiviert oder Deaktiviert Interlacing
  - imageistruecolor — Finds whether an image is a truecolor image
  - imagejpeg — Gibt das Bild im Browser oder einer Datei aus.
  - imagelayereffect — Set the alpha blending flag to use layering effects
  - imageline — Zeichnet eine Linie
  - imageloadfont — Lädt eine neue Schriftart
  - imageopenpolygon — Draws an open polygon
  - imagepalettecopy — Copy the palette from one image to another
  - imagepalettetotruecolor — Converts a palette based image to true color
  - imagepng — Ausgabe eines Bildes im Browser oder als Datei im PNG-Format
  - imagepolygon — Zeichnet ein Polygon
  - imagerectangle — Zeichnet ein Rechteck
  - imageresolution — Get or set the resolution of the image
  - imagerotate — Rotate an image with a given angle
  - imagesavealpha — Ob beim Speichern von Bildern vollständige Alphakanal-Information erhalten wird
  - imagescale — Scale an image using the given new width and height
  - imagesetbrush — Set the brush image for line drawing
  - imagesetclip — Set the clipping rectangle
  - imagesetinterpolation — Set the interpolation method
  - imagesetpixel — Setzt ein einzelnes Pixel
  - imagesetstyle — Set the style for line drawing
  - imagesetthickness — Set the thickness for line drawing
  - imagesettile — Set the tile image for filling
  - imagestring — Zeichnet einen horizontalen String
  - imagestringup — Zeichnet einen vertikalen String
  - imagesx — Ermittelt die Breite eines Bildes
  - imagesy — Ermittelt die Höhe eines Bildes
  - imagetruecolortopalette — Convert a true color image to a palette image
  - imagettfbbox — Ermittelt das umgebende Rechteck eines Textes, der eine TrueType-Schriftart verwendet
  - imagettftext — Schreibt Text mit TrueType-Schriftarten ins Bild
  - imagetypes — Liefert die von der verwendeten PHP-Version unterstützten Grafikformate
  - imagewbmp — Gibt das Bild im Browser oder einer Datei aus.
  - imagewebp — Output a WebP image to browser or file
  - imagexbm — Output an XBM image to browser or file
  - iptcembed — Embeds binary IPTC data into a JPEG image
  - iptcparse — Parse a binary IPTC block into single tags
  - jpeg2wbmp — Konvertiert eine JPEG-Bilddatei in eine WBMP-Bilddatei
  - png2wbmp — Convert PNG image file to WBMP image file
- GdImage — The GdImage class
- GdFont — The GdFont class

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open