web-dev-qa-db-ja.com

フォルダー(サブフォルダーを含む)内のすべての画像のサイズを一括変更するにはどうすればよいですか?

サーバーには12GBの巨大なギャラリーがあり、さまざまなサブフォルダーの画像がいっぱいです。これらのファイルは大きすぎて、フル解像度では使用されません。すべての画像のサイズを820px幅(縦横比を維持)に変更する必要があります。だから私の質問は-すべての画像のサイズを820pxより大きくし、元のファイルを上書きして保存するようなクロールスクリプトを作成するにはどうすればよいですか?

:-)よろしくお願いします。

11
G-Gore

ImageMagickツールで変換またはmogrifyを実行します。

パッケージマネージャーまたはsource/rpmを介してここから取得できます。 http://www.imagemagick.org/script/binary-releases.php#unix

基本的な使い方:

$ mogrify -resize 820x *.jpg

再帰が必要な場合:

find . -name '*.jpg' -execdir mogrify -resize 820x {} \;
13
user110549

convertを使用してジョブを実行します。

convert -resize "1024x768>" origIMG destIMGは、origIMGを1024x768にサイズ変更して、アスペクト比を維持し、画像が1024より大きい場合にのみサイズ変更して、新しい画像をdestIMGに保存します。その後、destIMGを元の場所に移動できます。

ループを使用してすべてのディレクトリを移動するか、findを使用します。

5
YoMismo