Größe ändern
-resize 400x300+20+30
(wie die -scale
und -sample
Beispiele unten) wandelt ein Eingangssignal an ein Ausgabebild, das die Pixelabmessungen hat 400x300
. Außerdem wird die Ausgabe um 20 Pixel nach rechts und um 30 Pixel nach unten verschoben. Darüber hinaus gibt es einige weitere Unterschiede zu -scale
:
-resize
unterstützt eine zusätzliche Einstellung von -filter
(die vor der Verwendung in der Befehlszeile erfolgen sollte -resize
!).
-filter
bestimmt den genauen Algorithmus, der für die Farben der hinzugefügten Pixel bei Vergrößerung oder für die Farben für die verbleibenden Pixel verwendet werden soll, wenn einige ihrer Nachbarn bei Verkleinerung entfernt werden.
Eine Liste der unterstützten Filter finden Sie einfach convert -list filter
.
-filter point -resize 400x300
erzeugt genau das gleiche Ergebnis wie -sample 400x300
es, läuft aber immer noch etwas langsamer.
Wenn dies nicht neben (vorher) festgelegt wird -resize
, wird die Konvertierung standardmäßig -filter Lanczos
langsamer eingestellt, erzeugt jedoch eine viel bessere Qualität (da die Farben aller umgebenden Pixel für neu hinzugefügte Pixel berücksichtigt werden) als die Erzeugung -filter point
(bei der die nächste verwendet wird) Nachbarregel zur Bestimmung der Farbe neu hinzugefügter Pixel).
Stichprobe
-sample 400x300
konvertiert ein Eingabebild in ein Ausgabebild mit den Pixelabmessungen von 400x300
. Es gibt jedoch einige sehr wichtige Unterschiede zu -resize
:
-sample
unterstützt nicht die zusätzliche Einstellung von -filter
; Wenn es trotzdem eingestellt ist, -filter
wird es einfach ignoriert.
Beim Vergrößern (da die Eingabebildgröße möglicherweise kleiner als ist 400x300
) werden Pixel in Blöcken repliziert.
Beim Minimieren (da die Eingabebildgröße möglicherweise größer als ist 400x300
) werden Pixel mit einem sehr einfachen Algorithmus unterabgetastet: Einige Zeilen und Spalten werden einfach übersprungen.
Das Geometrie Argument -sample
unterstützt keinen Offset - Teil ( im Gegensatz zu -resize
, die Hinsicht Offset - Richtlinien für die Ausgabe).
Die Ausgabe wird niemals mehr (unterschiedliche) Farben haben als das Eingabebild; Es kann jedoch weniger Farben haben.
Daher -sample
ist es sehr schnell (schneller als -resize
) - aber die Ausgabequalität ist (normalerweise) schlechter: Sie können leicht extreme Blockierungs- und Aliasing- Effekte in der resultierenden Ausgabe erzielen.
Ein wichtiges Merkmal von -sample
ist, dass das neue Bild keine neuen Farben enthält, obwohl einige Farben aus dem Originalbild möglicherweise verschwinden.
Resample
-resample
Verwendungen als Parameter die gewünschte XxY
Auflösung , nicht nicht die PixelgeometrieXxY
des Zielbildes. Der Zweck dieses Operators besteht darin, die gerenderte Größe eines Bildes beizubehalten: Angenommen, Ihr Bild misst 4 x 3 Zoll auf einem Gerät, das es mit 300 DPI rendert. Fragen Sie dann nach einem oder ändern Sie die Größe des Bilds so, dass es auf einem 72-DPI-Gerät (wieder) 4 x 3 Zoll misst.-resample 72
-resample 72x72
Dieser Vorgang funktioniert nur für solche Bilder, deren Metadaten bereits eine gewünschte Auflösung gespeichert haben (nicht alle Bildformate unterstützen das Konzept einer Bildauflösung - JPEG, PNG und TIFF).
Wenn das Quellbild in einem Format vorliegt, in dem die interne Unterstützung für eine Bildauflösung fehlt, muss die (angenommene) ursprüngliche Auflösung des Bildes vor der Angabe der Auflösung über -density
die Befehlszeile angegeben werden .-resample
Rahmen
-scale 400x300
erzeugt das äquivalente Ergebnis (ist jedoch schneller, da die gesamte Filterverarbeitung vermieden wird) wie die Verwendung -filter box -resize 400x300
. Außerdem werden aktuelle -filter
Einstellungen vollständig ignoriert .
Beim Minimieren wird die Bildgröße geändert, indem einfach die Pixelfarben ersetzt werden, indem die jeweiligen eingegebenen Pixelfarben zusammen gemittelt werden.
Beim Vergrößern werden einfach die jeweiligen Eingabepixel für die erforderlichen zusätzlichen Pixel repliziert.
adaptive Größenänderung
-adaptive-resize 400x300
unterstützt den Offset- Teil eines Geometrieparameters nicht (oder ignoriert ihn, falls festgelegt) und ignoriert die -gravity
Einstellung, falls vorhanden.
Miniaturansicht
-thumbnail
funktioniert genauso wie -resize
, mit ein paar Unterschieden:
Es ist auf Geschwindigkeit optimiert.
Außerdem werden eingebettete Farbprofile entfernt, um die Dateigröße der Miniaturansichten zu verringern.
Die folgende Antwort zeigt einige (illustrierte!) Beispiele der -resize
Richtlinie. Jede Abbildung zeigt ein anderes Ergebnis, abhängig von den "feinen Details" der genauen Größenänderungsmethode: