web-dev-qa-db-ja.com

コマンドライン経由で画像ファイルをミラーリングする方法は?

私がやりたいことはとても簡単です。私はfile.pngを持っています。これをミラーリングします。つまり、結果は元の画像の「反射」になるはずです。

GIMPやInkScapeのような大きなツールでそれができることは知っていますが、convertのようなコマンドラインユーティリティを望んでいます(残念ながら、そのようなオプションはないようです。 manページで)。

8

this をすばやく読むと、明らかにconvertはこのオプションを-flop水平ミラーリング、-flip垂直コールに呼び出します。私がする必要があったのは

convert -flop input.png output.png
14

インプレースで上書きしたい場合、同じフォルダーに大量の画像ファイルがある場合、ImageMagickスイートのmogrifyがこれを達成する最も簡単な方法のようです。

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

# mirror in the horizontal axis:
mogrify -flop *.jpg
2
EA304GT

この特定のタスクには、おそらくconvertが最適な方法ですが、この種のことには、apt install netpbmでインストールできる(予想どおり)netpbmライブラリをよく使用します。それから

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

このタスクについてはやり過ぎですが、私はしばしばconvertでは利用できない独特の方法でPNMファイルを変換または分析するための1回限りのスクリプトを書いています。これは比較的簡単です。これは、PNMが想像できる最も単純なビットマップグラフィック形式であるためです。

2
MJD