ImageMagick - wie man Min / Max Höhen / Breiten erzwingt?

8

Wie kann ich mit ImageMagick die Größe eines Bildes ändern, um ein minimum zu erhalten:

  • Höhe von 150px
  • Breite von 200px

und auch haben ein maximum :

  • Höhe von 225px
  • Breite von 275px

AKTUALISIEREN :

Falls es hilft, hier ist eine weitere Erklärung dessen, was ich gerade erlebe.

Ich habe eine Reihe von Bildern mit allen verschiedenen Größenverhältnissen. Einige Bilder haben ein Verhältnis von Höhe zu Breite von 1: 5. Einige haben Verhältnis 5: 1 Höhe / Breite. Ich möchte also eine minimale Höhe / Breite für das Bild festlegen, aber auch nicht, dass die Bildgröße größer als eine bestimmte Größe ist.

Wenn ich ein weißes Bild auf ein Bild anwenden muss, damit es in meine Beschränkung passt, damit ich das Bild nicht verzerren muss, möchte ich das tun.

    
Henryh 06.05.2010, 16:07
quelle

5 Antworten

11

Ich kann meine Anforderungen nicht ganz verstehen, aber ich denke, das sollte möglich sein, wenn Sie IM zweimal ausführen.

Siehe das Handbuch zu Geometrieoptionen :

Eine Kombination von

  

widthxheight & gt; Ändern Sie wie pro widthxheight, aber nur, wenn eine Bilddimension eine angegebene Dimension überschreitet.

und

  

widthxheight ^ Minimale Werte für Breite und Höhe, Seitenverhältnis beibehalten.

könnte den Trick machen. Für Bilder, deren Seitenverhältnis außerhalb Ihrer Anforderungen liegt, müssen Sie jedoch eine Leinwand mit fester Größe in IM erstellen, mit einer Farbe füllen, das Bild einfügen und trim() darauf anwenden ... Wahrscheinlich nicht möglich auf einmal aber.

    
Pekka 웃 06.05.2010 16:27
quelle
6

OK, ich mache eine ähnliche Verarbeitung. Ich habe keine generische Lösung für beliebige Größen und Seitenverhältnisse, aber wenn Ihre Eingabesätze 1: 5 oder 5: 1 sind, können Sie sie in 2 Kategorien gruppieren und entsprechend mit einigen dieser Code-Snippets bearbeiten / p>

Schritt 1: Bestimmen Sie, welches Seitenverhältnis das Bild hat, und legen Sie auf der Grundlage dieser die endgültigen endgültigen geänderten Abmessungen fest.

%Vor%

Schritt 2, führen Sie die tatsächliche Größenanpassung durch:

%Vor%

Dieses Beispiel geht von einer festen Menge gewünschter Größen aus, aber natürlich könnten Sie einige Grundrechenarten verwenden, indem Sie Ihre ursprünglichen Dimensionen als Eingabe verwenden und proportional zu Ihren angegebenen Grenzen skalieren.

    
Peter Lyons 12.05.2010 02:18
quelle
3

Wenn Sie ImageMagick verwenden, benötigen Sie nur zwei mogrify -Pässe: einen zum Vergrößern der Werte, die kleiner als das erforderliche Minimum sind, und einen zum Verkleinern der Werte, die größer als das Maximum sind. Um beispielsweise die Größe einer Reihe von JPEGs im Stapel zu ändern:

%Vor%

Der erste Durchgang vergrößert diejenigen, die kleiner als 200x150 sind, und der zweite verkleinert diejenigen, die größer als 275x225 sind (ja, die Zeichen sind korrekt!). mogrify ersetzt die Originalbilder, was Sie in diesem Fall tun müssen, um zu vermeiden, dass die Bilder in jedem Durchgang neu skaliert werden und mit zwei verarbeiteten Kopien enden.

Obwohl sie zwei Durchgänge sind, verarbeiten Sie jedes Bild nur einmal (fast, siehe unten). Der erste Prozess x % der Bilder und der andere Durchlauf verarbeitet die restlichen 100- x % (plus c , siehe unten) unter der Annahme von allem Bilder mussten in der Größe angepasst werden.

Das! wird verwendet, um die Änderung des Aspekts für Bilder zu erzwingen, die außerhalb des Bereichs liegen (unsere Konstante c ), z. B. ein Bild mit 1200x100, das weder in 275x225 noch in 200x150 passt. Diese Bilder werden zweimal verarbeitet : Im ersten Durchgang wird der Aspekt unterhalb des Bereichs (Höhe oder Breite) auf das Minimum erhöht, und im zweiten Durchgang wird der andere Aspekt auf das Maximum reduziert.

Ich hoffe, das hilft.

    
kako-nawao 03.08.2013 15:43
quelle
0

Sie können das Tool mogrify verwenden, das Teil der Imagemagick-Suite ist.

Es gibt ein Beispiel für die Verwendung hier

    
Niels 24.02.2012 11:37
quelle
0

Basierend auf oben:

%Vor%     
sebastien 06.06.2013 16:43
quelle

Tags und Links