Ändern Sie die Größe von Bildern in ImageMagick auf einen bestimmten Höhenwert?

27

Ich habe mich danach umgesehen und kann keine einfach umzusetzende Lösung finden.

Derzeit arbeite ich an einer Anwendung, die sich mit Panoramen befasst. Da sie aus dem Batch-Stitch-Prozess stammen, sind die Abmessungen durchschnittlich 18.000 x 4.000. Wie kann ich mit ImageMagick diese Bilder unter Beibehaltung des Seitenverhältnisses auf einen bestimmten Höhenwert verkleinern?

Laut Handbuch werden für die convertGrößenänderung sowohl Höhe als auch Breite benötigt, wobei das gleiche Seitenverhältnis beibehalten wird. Ich möchte 600 und 1000 in meine vorhandene Funktion zum Ändern der Größe von Skripten einfügen und sowohl ein reguläres anzeigbares Bild als auch eine reduzierte Größe haben.

Jason
quelle
IIRC verwendet die kleinere Dimension als Basis für den Größenänderungsvorgang. Wenn Sie beispielsweise 20000 x 600 angeben, wird die Höhe 600 als Basis für die Berechnung der konvertierten Breite verwendet, um das Seitenverhältnis beizubehalten. Habe ich mich klar ausgedrückt?
Devius
Muss es ImageMagick sein? Phatch-Befehle können per Skript erstellt werden. Der Befehl "fit" macht genau das, wonach Sie suchen. photobatch.wikidot.com/action-fit
Veazer

Antworten:

37

Laut der Dokumentation von ImageMagick schlage ich vor, zu verwenden -geometry x600, wobei dies x600bedeutet, dass das neue Bild eine Höhe von 600 px mit dem gleichen Seitenverhältnis wie das alte Bild hat.


Für ein einzelnes Bild können Sie Folgendes ausführen:

convert input.png -geometry x600 output.png

Wenn Sie es vorziehen, alle Bilder eines Ordners in einem Durchgang zu konvertieren , wechseln Sie zu ihm (dh cd ~/Pictures/panoramas/) und verwenden Sie

mogrify -geometry x600 *.png

Aber seien Sie vorsichtig damit, da es die ursprünglichen Bilddateien überschreibt . Um zu vermeiden, dass Sie könnten

  1. erstelle einen neuen Ordner ( mkdir ~/Pictures/panoramas/small)
  2. Kopieren Sie die Bilder in diesen Ordner ( cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small) und
  3. Bearbeiten Sie die Bilder in diesem neuen Ordner ( cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png).
Jakob
quelle
1

Um die Größe aller Dateien in einem Ordner zu ändern, kann man so etwas wie verwenden

mogrify - Größe 800x1094! * jpg # Bildseitenverhältnis beibehalten

--- Größe und Verlängerung nach Bedarf ändern


quelle
1
Das Seitenverhältnis des
Rob
1
@Rob Wenn Sie das Seitenverhältnis beibehalten möchten, lassen Sie das "!" aus.
Erick
Danke @Erick, es ist ziemlich alt, aber ich habe wahrscheinlich darauf hingewiesen, dass diese Antwort nicht richtig beantwortet wird, da das OP das Seitenverhältnis beibehalten wollte. : D
Rob