2017-01-06 25 views
1

どこでも検索しましたが、これに対する回答は見つかりませんでした。 私は50KBのフォルダのすべての画像を正確に出力し、元の縦横比を維持したいと思います。bash画像サイズを一定のサイズに合わせて調整する

私はImageMagickを試して250x250にサイズ変更しましたが、それは私のためには機能しません。最初のディメンションを変更してもう一方のイメージを変更することで、出力イメージのサイズが変わります。

for image in `ls [email protected]*.jpg`; do 
    mogrify "${image}" -resize 250x250 "${image}" 
done 

どうすればよいですか?おかげ

答えて

0

更新回答

あなたは、画像のファイルサイズが50KB、使用に限定したい場合:

convert input.jpg -define jpeg:extent=50KB output.jpg 

オリジナル回答

使用mogrifyが、あること慎重にすべての画像を上書きします:

mogrify -resize 250x250! *.jpg 

私は上書きなっ原稿を避けるために、このように、結果の出力ディレクトリを指定する-pathオプションを使用したいmogrifyを使用した場合、一般的には、:

mkdir results 
mogrify -path results ... 

あなたが後!を追加した場合、あなたのスクリプトは動作しますが画像の形状を歪ませてもサイズを強制的に変更するサイズ変更。

+0

ありがとうございます。私はそれを試み、出力画像のサイズは41Kb〜55Kbの間で変化します。すでに41Kbだった1枚の写真はもっと小さくなった(19,3Kb)。私は実際に私の元のコードは、このコマンドと同じことを行うことに気づいた。出力イメージは正確に50Kbではありません。これを修正する方法はありますか? – Takichiii

+0

いいえ、定義されたエクステントは単なるヒントに過ぎず、ImageMagickは可能な限り良く一致させるために最善を尽くしますが、プロセスが複雑になるのは、イメージがどれくらいうまく圧縮されるかを正確に予測する方法がないからです。 –

+0

私はコードをテストするために正確に50、X.KB(縮小されていないか、伸ばされていない、寸法が定数ではない)の写真でいっぱいのフォルダを持っています。私はこれを行うための簡単な方法が必ずあると確信しています – Takichiii

関連する問題