Bildgrößen und Formate mit ImageMagick automatisiert ändern
ImageMagick ist eine leistungsstarke und vielseitige Sammlung von Kommandozeilen-Tools für die Bildverarbeitung. Ob Sie Entwickler oder Systemadministrator sind: Mit ImageMagick automatisieren Sie gängige Aufgaben der Bildverarbeitung wie die Größenänderung im Batch und die Formatkonvertierung auf effiziente Weise. In diesem DevTip zeigen wir praktische Beispiele, die verdeutlichen, wie Sie Ihren Workflow mit den Kommandozeilen-Werkzeugen von ImageMagick verschlanken.
Einführung in ImageMagick
ImageMagick ist eine plattformübergreifende Software-Sammlung, mit der Sie Bitmap-Bilder über Kommandozeilen-Tools erstellen, bearbeiten, zusammensetzen und konvertieren können. Da sie eine große Bandbreite an Bildformaten und Operationen unterstützt, eignet sie sich ideal, um Aufgaben der Bildverarbeitung zu automatisieren und große Bildmengen zu bewältigen. Mit ImageMagick binden Sie die Bildverarbeitung in Ihre Skripte und Workflows ein und sparen so Zeit und Aufwand.
ImageMagick einrichten
Bevor wir zu den Befehlen kommen, stellen wir sicher, dass ImageMagick auf Ihrem System installiert ist.
Installation unter macOS
Unter macOS installieren Sie ImageMagick mit Homebrew:
brew install imagemagick
Installation unter Linux
Auf Debian- oder Ubuntu-basierten Distributionen:
sudo apt-get install imagemagick
Unter CentOS oder Fedora:
sudo yum install imagemagick
Unter Fedora (neuere Versionen):
sudo dnf install imagemagick
Installation unter Windows
Windows-Nutzer können vorkompilierte Binaries von der offiziellen ImageMagick-Website herunterladen:
- Besuchen Sie die ImageMagick-Downloadseite.
- Wählen Sie die für Ihr System passende Version.
- Führen Sie das Installationsprogramm aus und folgen Sie den Anweisungen.
Achten Sie darauf, während der Installation die Option auszuwählen, die ImageMagick zum System-Pfad hinzufügt, damit Sie die Kommandozeilen-Tools aus jedem Verzeichnis heraus nutzen können.
Installation überprüfen
Überprüfen Sie nach der Installation, ob ImageMagick korrekt installiert wurde:
magick -version
Die Ausgabe sollte die installierte Version und die unterstützten Funktionen anzeigen.
Ab ImageMagick 7 wird der Befehl magick als Präfix für andere Befehle verwendet
(z. B. magick mogrify). In früheren Versionen können Sie Befehle wie mogrify direkt nutzen. Der
Einheitlichkeit halber verwenden wir in unseren Beispielen magick mogrify.
Größenänderung von Bildern im Batch mit mogrify
Mit dem Befehl mogrify verarbeiten Sie mehrere Bilder effizient, was ihn ideal für die
Größenänderung im Batch macht.
Bilder auf eine bestimmte Breite skalieren
So ändern Sie die Größe aller JPEG-Bilder im aktuellen Verzeichnis auf eine Breite von 800 Pixeln und behalten dabei das Seitenverhältnis bei:
magick mogrify -resize 800 *.jpg
Bilder auf bestimmte Abmessungen skalieren
So ändern Sie die Größe von Bildern, damit sie in bestimmte Abmessungen passen (z. B. 800x600 Pixel):
magick mogrify -resize 800x600 *.jpg
Damit werden die Bilder proportional so skaliert, dass sie in die angegebenen Abmessungen passen.
mogrify überschreibt die Originaldateien. Um die Originale zu erhalten, verarbeiten Sie sie in
einem anderen Verzeichnis oder nutzen Sie magick input.jpg -resize 800 output.jpg für eine separate Ausgabedatei.
Größe ändern und in einem anderen Verzeichnis speichern
So ändern Sie die Größe von Bildern und speichern sie in einem anderen Verzeichnis:
mkdir resized
magick mogrify -path resized/ -resize 800 *.jpg
Damit werden die skalierten Bilder im Verzeichnis resized/ gespeichert und die Originaldateien
bleiben erhalten.
Bildformate im Stapel konvertieren
ImageMagick vereinfacht die Formatkonvertierung mit dem Befehl mogrify.
JPEG in PNG konvertieren
So konvertieren Sie alle JPEG-Bilder im aktuellen Verzeichnis in das PNG-Format:
magick mogrify -format png *.jpg
Damit werden PNG-Versionen aller JPEG-Bilder erstellt.
Konvertieren und in einem anderen Verzeichnis speichern
So konvertieren Sie Bilder und speichern sie in einem anderen Verzeichnis:
mkdir png_images
magick mogrify -format png -path png_images/ *.jpg
Damit werden alle JPEG-Bilder in PNG konvertiert und im Verzeichnis png_images/ gespeichert.
Größenänderung und Formatkonvertierung kombinieren
Sie können mehrere Operationen in einem einzigen Befehl kombinieren, um Stapel effizient zu verarbeiten.
Bilder skalieren und konvertieren
So ändern Sie die Größe von Bildern und konvertieren sie in ein anderes Format:
mkdir resized_png
magick mogrify -resize 800 -format png -path resized_png/ *.jpg
Dieser Befehl ändert die Größe aller JPEG-Bilder auf 800 Pixel Breite, konvertiert sie in das
PNG-Format und speichert sie im Verzeichnis resized_png/.
Aufgaben mit Shell-Skripten automatisieren
Automatisieren Sie wiederkehrende Aufgaben mit Shell-Skripten, um Ihren Workflow zu verschlanken.
Beispiel für ein Shell-Skript
Erstellen Sie ein Shell-Skript process_images.sh:
#!/bin/bash
INPUT_DIR="input_images"
OUTPUT_DIR="output_images"
WIDTH=800
mkdir -p "$OUTPUT_DIR"
find "$INPUT_DIR" -type f -name "*.jpg" -exec magick mogrify -resize "$WIDTH" -format png -path "$OUTPUT_DIR" {} +
echo "Images have been resized and converted."
Machen Sie das Skript ausführbar:
chmod +x process_images.sh
Führen Sie das Skript aus:
./process_images.sh
Dieses Skript findet alle JPEG-Bilder in input_images, ändert ihre Größe auf 800 Pixel Breite,
konvertiert sie in PNG und speichert sie in output_images.
Praktische Beispiele und Anwendungsfälle
Thumbnails erstellen
So erstellen Sie Thumbnails für eine Website oder Anwendung:
mkdir thumbnails
magick mogrify -resize 150x150^ -gravity center -extent 150x150 -format jpg -path thumbnails/ *.jpg
Damit werden quadratische Thumbnails der Größe 150x150 Pixel erstellt, wobei die Bilder zur Mitte hin zugeschnitten werden.
Bilder fürs Web optimieren
So optimieren Sie Bilder für die Verwendung im Web, indem Sie die Qualität reduzieren:
mkdir optimized
magick mogrify -quality 85% -path optimized/ *.jpg
Damit wird die Bildqualität auf 85 % reduziert, was zu kleineren Dateigrößen führt, die sich ideal für Webseiten eignen.
Fazit
Die Kommandozeilen-Tools von ImageMagick, insbesondere mogrify, bieten leistungsstarke
Möglichkeiten, um Aufgaben der Bildverarbeitung wie die Größenänderung im Batch und die
Formatkonvertierung zu automatisieren. Indem Sie diese Befehle in Ihren Workflow oder Ihre Skripte
einbinden, bewältigen Sie große Bildmengen effizient.
Bei Transloadit setzen wir ImageMagick in mehreren unserer Dienste für Bildverarbeitung ein und ermöglichen so eine nahtlose und skalierbare Bildverarbeitung in der Cloud.
