Die GD-Bibliothek in PHP ist ein leistungsfähiges Werkzeug zur Erstellung und Bearbeitung von Bildern. Sie ermöglicht es Entwicklern, Bilder dynamisch zu erzeugen, zu bearbeiten und zu manipulieren. Um die GD-Bibliothek in PHP zu verwenden, müssen Sie sicherstellen, dass die GD-Erweiterung in Ihrer PHP-Installation aktiviert ist. Das kann man in der `php.ini`-Datei prüfen und gegebenenfalls anpassen.
// Bild erstellen
$bild = imagecreatetruecolor($breite, $hoehe);
// Farben definieren
$hintergrundfarbe = imagecolorallocate($bild, 255, 255, 255); // Weiß
$textfarbe = imagecolorallocate($bild, 0, 0, 0); // Schwarz
// Hintergrund füllen
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $hintergrundfarbe);
// Text hinzufügen
$text = ‘Hallo, Welt!’;
$schriftart = 5; // Eingebaute Schriftart
$x = 10;
$y = 20;
imagestring($bild, $schriftart, $x, $y, $text, $textfarbe);
// Bild als PNG-Datei speichern
$image_path = ‘mein_bild.png’;
imagepng($bild, $image_path);
// Speicher freigeben
imagedestroy($bild);
echo “Bild erfolgreich erstellt: $image_path”;
?>
```
In diesem Skript erstellen wir ein 200×60 Pixel großes Bild, füllen den Hintergrund mit Weiß, schreiben den Text „Hallo, Welt!“ in Schwarz darauf und speichern das Bild als `mein_bild.png`.
// Neues Bild skalieren
$neueBreite = 100;
$neueHoehe = 100;
$skaliertesBild = imagescale($bild, $neueBreite, $neueHoehe);
// Gespeichertes Bild erstellen
imagejpeg($skaliertesBild, ‘skaliertes_bild.jpg’);
// Speicher freigeben
imagedestroy($bild);
imagedestroy($skaliertesBild);
?>
```
// Filter anwenden (Graustufen)
imagefilter($bild, IMG_FILTER_GRAYSCALE);
// Gespeichertes Bild erstellen
imagejpeg($bild, ‘graustufen_bild.jpg’);
// Speicher freigeben
imagedestroy($bild);
?>
```
Diese Beispiele zeigen, wie man verschiedene Operationen auf einem Bild durchführen kann, wie die Skalierung und das Anwenden von Filtern.
Durch die Verwendung dieser Funktionen können Sie eine Vielzahl bildbasierter Aufgaben in PHP durchführen, von einfachen Textüberlagerungen bis hin zu komplexeren Bildmanipulationen.