Alternativ: Wie nehme ich ein nicht quadratisches PNG und "fülle" den "Rest" des Bildes mit Transparenz aus, so dass das resultierende quadratische Bild das Originalbild im Quadrat zentriert hat?
ULTIMATIV möchte ich jedes Bild eines GM-unterstützten Formats jeder Größe aufnehmen und ein verkleinertes PNG (z. B. maximal 40 Pixel für jede Dimension) erstellen, wobei das Seitenverhältnis beibehalten und die Transparenz für Nichtquadrate aufgefüllt wird Originalbilder UND mit einer bereits vorbereiteten 40x40 PNG-Transparenzmaske.
Ich weiß bereits, wie man das Seitenverhältnis verkleinert und beibehält. Ich habe bereits den Befehl zum Anwenden meines Verbunds. Mein einziges fehlendes Stück sind quadratische, nicht quadratische Bilder (Polsterung mit Transparenz).
Einzelbefehl bevorzugt; Multi-Befehlskette akzeptabel.
(bearbeiten)
Zusätzliche Informationen: Hier ist der zusammengesetzte Befehl, den ich verwende:
gm composite -compose copyopacity mask.png source-and-target.png source-and-target.png
Dabei hat mask.png weiße Pixel für das, was ich von source-and-target.png behalten möchte, und transparente Pixel für das, was ich von source-and-target.png entfernen (und transparent werden) möchte.
composite
?-filter Catrom
vor derthumbnail
Option hinzufügen, da sie meiner Erfahrung nach im Allgemeinen Bilder mit höherer Qualität erzeugt.Ein Befehl zum Konvertieren aller PNGs aus einem Ordner:
mogrify ist ein Befehl aus dem ImageMagick-Paket. Sie müssen zuerst das Ausgabeverzeichnis erstellen.
quelle
-path resized
Bearbeitung der vorhandenen Dateien unterlassen .gm mogrify
und statt-path resized
, Verwendung-create-directories -output-directory resized
Hier ist, was ich schließlich ging. Ein zweistufiger Prozess:
Wobei mask.png weiße Pixel für das ist, was ich behalten wollte, und transparente Pixel für das, was ich maskieren wollte (verwerfen).
quelle