Ich hätte gerne ein Skript, um eine Reihe von Bilddateien im PNG-Format zu verarbeiten, sagen wir innerhalb eines Verzeichnisses. Wir können auch davon ausgehen, dass die Bilder die gleiche Größe haben. Die Verarbeitung sollte die folgenden Aktionen beinhalten: bestimmte Region auswählen, transparent machen, für die nächste Datei wiederholen.
Nur ein Beispiel, um zu verdeutlichen, was ich meine:
eingewechselt werden soll
Und
hinein
edit : @Paolo Gibbelini und @Scribblemacher, ihr habt gute Vorschläge gemacht. Allerdings muss ich jetzt meine Anforderungen etwas ändern. Die Breite des Eingabebildes kann unterschiedlich sein und die Breite des Zuschneidebereichs sollte gleich der Bildbreite sein. Die Höhe des Zuschneidebereichs sollte konstant 69 Pixel betragen. Kann ich das auch mit ImageMagick erreichen? Wäre es richtig, Geometrie wie 9999x9999+0+69
für die zu übergeben crop
?
Diese Art von Operation könnte einfach mit Imagemacick unter Verwendung der Zuschneidefunktion durchgeführt werden .
In deinem Beispiel:
convert your_image.png -crop 423x275+0+113 -background transparent -flatten cropped_image.png
Die Ausgabe ist:
Mit einer Batch-Datei können Sie alle Ihre Bilder verarbeiten.
Bearbeiten
Konvertieren funktioniert sogar, wenn in der Geometrie Abmessungen größer als die Abmessungen des Bildes selbst verwendet werden:
convert your_image.png -crop 9999x9999+0+69 -background transparent -flatten cropped_image.png
Für komplexere Operationen können Sie die Attribute des Bildes mit dem Befehl "identify" in Ihrer Batchdatei abrufen.
Wie von @Scribblemacher gezeigt, können Sie mogrify verwenden , um den Stapelbetrieb zu vereinfachen. Beachten Sie, dass mogrify Originaldateien überschreibt.
Scribblemacher
Danny Lo
Paolo Gibellini
Danny Lo
identify
, an meine Bedürfnisse anpassen und anmogrify
/ übergeben mussconvert
, richtig?Paolo Gibellini