Erzwingen Sie, dass GraphicsMagick die Bildgröße auf eine bestimmte Breite ändert

Erzwingen Sie, dass GraphicsMagick die Bildgröße auf eine bestimmte Breite ändert

Ich verarbeite einen Ordner mit Bildern stapelweise mit GraphicsMagick, um eine einheitliche Breite zu erzielen (obwohl ich davon ausgehe, dass dasselbe für ImageMagick gilt):

$ gm convert -resize 1000x in.jpg out.jpg

Aber wenn ich einige der Bilder überprüfe, erhalte ich 999pxanstelle von 1000px.

$ gm identify -verbose out.jpg

==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==>   Geometry: 999x591

Gibt es eine Möglichkeit, die richtige Breite durchzusetzen? Ich gehe davon aus, dass eine Schätzung durchgeführt wird, um die Seitenverhältnisse beizubehalten.

Antwort1

Wenn Sie das herausgefunden haben, verwenden Sie ein Ausrufezeichen, um die gewählte Größe durchzusetzen. Von derGraphicsMagick-Dokumente:

Fügen Sie der Geometrie ein Ausrufezeichen hinzu, um die Bildgröße genau auf die von Ihnen angegebene Größe festzulegen. Wenn Sie beispielsweise 640 x 480 angeben, wird die Bildbreite auf 640 Pixel und die Bildhöhe auf 480 Pixel festgelegt.

Aus dem obigen Beispiel geht also hervor:

$ gm convert -resize 1000x! in.jpg out.jpg

Das Ergebnis ist ein Bild mit einer Breite von genau 1000 Pixeln:

$ gm identify -verbose out.jpg

==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==>   Geometry: 1000x591

verwandte Informationen