Bilder im Stapel: Größe ändern und konvertieren mit ImageMagick
In der Web- und Anwendungsentwicklung ist ein effizienter Umgang mit Bildern entscheidend für Performance und Benutzererlebnis. Ob Sie an einem privaten Projekt arbeiten oder eine umfangreiche Anwendung betreuen, die Automatisierung von Bildverarbeitungsaufgaben spart Ihnen wertvolle Zeit und sorgt für Konsistenz. In diesem DevTip zeigen wir, wie Sie die leistungsstarken Kommandozeilen-Tools von ImageMagick für Größenänderung und Formatkonvertierung im Stapel nutzen, sodass Sie mehrere Bilder schnell und zuverlässig verarbeiten können.
Einführung in ImageMagick
ImageMagick ist eine vielseitige Open-Source-Software-Suite zum Anzeigen, Konvertieren und Bearbeiten von Rasterbilddateien. Sie ist in der Entwickler-Community weit verbreitet, unterstützt über 200 Bildformate und bietet robuste Kommandozeilen-Tools für komplexe Bildbearbeitungen – von der einfachen Größenänderung bis zu fortgeschrittenen Effekten.
Diese Anleitung verwendet die Syntax von ImageMagick 7. Wenn Sie ImageMagick 6 verwenden (in
vielen Linux-Distributionen noch üblich), können Sie in den Befehlen das Präfix magick weglassen.
Prüfen Sie Ihre Version mit convert -version oder magick -version.
Es wird dringend empfohlen, vor der Nutzung von ImageMagick eine für Ihre lokale Umgebung geeignete Sicherheitsrichtlinie einzurichten. Einzelheiten finden Sie in der Dokumentation zur Sicherheitsrichtlinie.
ImageMagick einrichten
Bevor wir zu den Befehlen kommen, müssen Sie ImageMagick auf Ihrem System installieren. Der Installationsvorgang unterscheidet sich je nach Betriebssystem.
Installation unter macOS
Unter macOS installieren Sie ImageMagick mit Homebrew:
brew install imagemagick
Installation unter Linux
Unter Ubuntu oder anderen Debian-basierten Distributionen:
sudo apt-get update
sudo apt-get install imagemagick
Installation unter Windows
Unter Windows haben Sie mehrere Möglichkeiten. Sie können den Installer von der offiziellen ImageMagick-Website herunterladen oder einen Paketmanager verwenden:
winget install ImageMagick.ImageMagick
# Or
choco install imagemagick
# Or
scoop install main/imagemagick
Bildgrößen im Stapel mit ImageMagick ändern
Wie ändere ich mit ImageMagick die Größe mehrerer Bilder auf einmal?
Um die Größe mehrerer Bilder gleichzeitig zu ändern, verwenden Sie den Befehl mogrify, der für die
Stapelverarbeitung von Bildern ausgelegt ist. Anders als convert, das die Ausgabe in eine andere Datei
schreibt, verändert mogrify die Originaldateien. Es empfiehlt sich, mit Kopien zu arbeiten oder Ihre
Bilder vor der Verarbeitung zu sichern.
Bildgrößen im Stapel ändern
So ändern Sie die Größe aller JPEG-Bilder in einem Verzeichnis auf eine Breite von 800 Pixeln und behalten dabei das Seitenverhältnis bei:
magick mogrify -resize 800 *.jpg
Dieser Befehl verarbeitet alle Dateien vom Typ .jpg im aktuellen Verzeichnis und ändert ihre Größe
auf eine Breite von 800 Pixeln. Die Höhe wird automatisch angepasst, um das ursprüngliche
Seitenverhältnis beizubehalten.
Originaldateien erhalten
So lassen Sie die Originalbilder unverändert und speichern die in der Größe geänderten Versionen in einem separaten Verzeichnis:
mkdir resized
magick mogrify -path resized -resize 800 *.jpg
Dieser Befehl erstellt ein Verzeichnis namens resized und legt die in der Größe geänderten Bilder
dort ab, während die Originale unangetastet bleiben.
Bildformate im Stapel konvertieren
Wie kann ich Bilder mit ImageMagick von einem Format in ein anderes konvertieren?
ImageMagick konvertiert Bilder mit dem Befehl mogrify unkompliziert von einem Format in ein anderes.
Beachten Sie, dass für einige Formate zusätzliche Bibliotheken installiert sein müssen.
JPEG in PNG konvertieren
So konvertieren Sie alle JPEG-Bilder in einem Verzeichnis in das PNG-Format:
magick mogrify -format png *.jpg
Dieser Befehl erstellt neue Dateien im Format .png und erhält dabei die Originaldateien im Format
.jpg, sodass Sie sie leicht vergleichen oder sichern können.
Größenänderung und Formatkonvertierung kombinieren
Größenänderung und Formatkonvertierung in einem einzigen Befehl kombinieren
Sie können mehrere Vorgänge in einem Befehl kombinieren, um Ihre Bilder effizienter zu verarbeiten, Zeit zu sparen und Arbeitsschritte zu reduzieren.
Größe ändern und gleichzeitig konvertieren
So ändern Sie die Größe von Bildern und konvertieren sie in einem Durchgang in ein anderes Format:
magick mogrify -resize 800 -format png *.jpg
Dieser Befehl ändert die Größe aller Bilder vom Typ .jpg auf eine Breite von 800 Pixeln und
speichert sie als Dateien im Format .png, wobei beide Vorgänge in einem einzigen Durchlauf
erledigt werden.
Bildverarbeitungsaufgaben automatisieren
Aufgaben mit Shell-Skripten automatisieren
Bei wiederkehrenden Aufgaben oder komplexen Workflows automatisieren Sie den Vorgang mit Shell-Skripten. Das beschleunigt nicht nur Ihren Workflow, sondern verringert auch die Fehleranfälligkeit.
Beispiel-Shell-Skript
Erstellen Sie ein Skript namens batch_process.sh:
#!/bin/bash
# Create directories for outputs
mkdir -p resized/png
# Resize images and save in the 'resized' directory
magick mogrify -path resized -resize 800 *.jpg
# Convert the resized images to PNG format and save in a subdirectory
magick mogrify -path resized/png -format png resized/*.jpg
Machen Sie das Skript ausführbar:
chmod +x batch_process.sh
Führen Sie das Skript aus:
./batch_process.sh
Dieses Skript ändert die Größe aller Bilder vom Typ .jpg auf eine Breite von 800 Pixeln, speichert
sie im Verzeichnis resized und konvertiert diese Bilder anschließend in das Format .png im
Verzeichnis resized/png. Damit zeigt es einen praxisnahen Automatisierungs-Workflow.
Praxisbeispiele und Anwendungsfälle
- Bilder für das Web vorbereiten: Optimieren Sie Bilder für kürzere Ladezeiten, indem Sie ihre Größe ändern und sie in webfreundliche Formate konvertieren, was die Performance Ihrer Website verbessert.
- Bild-Assets standardisieren: Stellen Sie sicher, dass alle Bilder in einem Projekt bestimmte Abmessungen und Formate erfüllen, und wahren Sie so die Konsistenz in Ihrer Anwendung oder Website.
- Gescannte Dokumente im Stapel verarbeiten: Konvertieren Sie gescannte Bilder und ändern Sie ihre Größe für eine einheitliche Archivierung, was das Dokumentenmanagement vereinfacht.
- Thumbnails erstellen: Erzeugen Sie automatisch Thumbnails für Bildergalerien oder Produktkataloge und verbessern Sie so das visuelle Erlebnis für die Nutzer.
Fazit
Die Automatisierung von Bildverarbeitungsaufgaben mit ImageMagick kann Ihre Produktivität als
Entwickler deutlich steigern. Mit Kommandozeilen-Tools wie mogrify ändern Sie die Größe von Bildern
und konvertieren sie effizient im Stapel, straffen Ihren Workflow und sorgen für Konsistenz in Ihren
Projekten.
Bei Transloadit integrieren wir ImageMagick in unsere Robots für die Bildverarbeitung – etwa in den Image Resize Robot –, um robuste und skalierbare Lösungen für die Bildverarbeitung bereitzustellen. Wenn Sie Bildaufgaben in großem Umfang automatisieren möchten, sehen Sie sich an, was Transloadit zu bieten hat.
