GD oder ImageMagick

Bildverarbeitung in Kirby 5

Kirby 5 unterstützt zwei Bildverarbeitungs-Engines: GD und ImageMagick. Was sind die Unterschiede, und wann lohnt sich der Wechsel?

Kirby 5 verarbeitet Bilder intern über eine austauschbare Engine. Standardmäßig nutzt Kirby GD – eine PHP-eigene Bildbibliothek die auf praktisch jedem Shared-Hosting verfügbar ist. Wer mehr Kontrolle und bessere Qualität möchte, kann auf ImageMagick umsteigen.

GD – der sichere Standard

GD ist in PHP eingebaut und braucht keine separate Installation. Es funktioniert überall, ist schnell und für die meisten Anwendungsfälle ausreichend. Die Schwäche liegt in der Bildqualität: GD vereinfacht bei der Konvertierung nach WebP oder JPEG manchmal Farbräume, ignoriert ICC-Farbprofile und produziert bei starker Verkleinerung gelegentlich weniger scharfe Ergebnisse.

ImageMagick – mehr Qualität, mehr Kontrolle

ImageMagick ist eine eigenständige Bildverarbeitungs-Software die auf dem Server installiert wird. Die PHP-Extension imagick verbindet PHP mit ImageMagick. Die Vorteile gegenüber GD:

Farbgenauigkeit – ImageMagick liest und erhält ICC-Farbprofile. Fotos von einer Spiegelreflexkamera behalten ihre Farbcharakteristik auch nach der Verkleinerung. Das Ergebnis wirkt satter und natürlicher.

Schärfere Thumbnails – bei der Verkleinerung großer Bilder auf Web-Dimensionen produziert ImageMagick deutlich schärfere Ergebnisse als GD, besonders bei feinen Details und Texturen.

Mehr Formate – ImageMagick unterstützt HEIC, RAW-Formate, EXR und viele weitere Dateitypen die GD nicht verarbeiten kann.

Besseres WebP – die WebP-Konvertierung via ImageMagick nutzt mehr Optimierungsstufen und produziert kleinere Dateien bei gleicher oder besserer Qualität.

Konfiguration in Kirby

Der Wechsel ist denkbar einfach – ein einzelner Eintrag in site/config/config.php reicht:

'thumbs' => [
    'driver' => 'im',
],

Der Wert im steht für ImageMagick. Alle anderen Thumb-Einstellungen wie quality, format und srcsets bleiben unverändert.

Installation

ImageMagick selbst ist auf den meisten Linux-Servern bereits vorhanden oder lässt sich per apt installieren. Die PHP-Extension ist je nach Distribution als Paket verfügbar:

sudo apt install php8.x-imagick

Falls das Paket für die genutzte PHP-Version noch nicht im Repository liegt – wie aktuell für PHP 8.4 – kann die Extension über PECL kompiliert werden:

sudo pecl install imagick

Sicherheitshinweis

ImageMagick hat historisch mehr Sicherheitslücken als GD – der bekannteste Vorfall war ImageTragick 2016, bei dem präparierte Bilddateien Code auf dem Server ausführen konnten. Wer ImageMagick per apt installiert hat ist gut aufgestellt: Sicherheitsupdates kommen automatisch mit apt upgrade. Wer die PHP-Extension über PECL kompiliert hat muss diese separat mit pecl upgrade imagick aktuell halten.

Fazit

Für einfache Blogs und Seiten ohne hohe Anforderungen an Bildqualität ist GD vollkommen ausreichend. Wer hingegen Fotos von hochwertigen Kameras veröffentlicht und Wert auf Farbgenauigkeit und Schärfe legt, merkt den Unterschied zu ImageMagick sofort. Der Wechsel kostet eine Zeile Konfiguration – der Gewinn ist sichtbar.

ImageMagick | Mastering Digital Image Alchemy
ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers.
ImageMagick
ImageMagick | Mastering Digital Image Alchemy

Share