Wie spiegele ich Bilddateien über die Befehlszeile?


12

Was ich tun möchte, ist sehr einfach. Ich habe eine file.png, die ich spiegeln möchte, dh das Ergebnis sollte eine "Reflexion" des Originalbildes sein.

Ich weiß, dass große Tools wie GIMP und InkScape das können, aber ich hoffe auf ein Befehlszeilenprogramm wie das convert(das leider keine solche Option zu haben scheint oder zumindest nicht auf der manSeite erwähnt wird).

Antworten:


23

Von der schnellen Lektüre dieser , offenbar convertnennt diese Option -flopfür horizontale Spiegelung und -flipfür die vertikale. Alles was ich tun musste war

convert -flop input.png output.png

1
sudo apt-get install imagemagick
tonka

Ich habe etwas über den Wechsel convertzu gelesen magick. Wenn also etwas schief geht, versuchen Sie es magick.
Sigur

2

Für diese spezielle Aufgabe convertist wahrscheinlich der beste Weg, aber für netpbmsolche Dinge verwende ich oft die Bibliothek, mit der (wie zu erwarten) installiert werden kann apt install netpbm. Dann

  pngtopnm input.png | pnmflip -lr \
    | (other transformations if desired) \  
    | pnmtopng > output.png

Für diese Aufgabe ist es übertrieben, aber ich schreibe oft einmalige Skripte, um PNM-Dateien auf besondere Weise zu transformieren oder zu analysieren, die in nicht verfügbar wären convert. Dies ist relativ einfach, da PNM so ziemlich das einfachste vorstellbare Bitmap-Grafikformat ist.


2

Wenn Sie direkt überschreiben möchten und eine Menge Bilddateien im selben Ordner haben, mogrifyscheint die ImageMagick-Suite der einfachste Weg zu sein, dies zu erreichen:

# mirror in the vertical axis:
mogrify -flip *.jpg

# mirror in the horizontal axis:
mogrify -flop *.jpg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.