私はこの例http://cubiq.org/create-fixed-size-thumbnails-with-imagemagickに従っていましたが、背景の残り物(つまり白い境界線)を除いて、まさに私が画像でやりたいことです)。これを行う方法はありますか?おそらく白い背景を切り取りますか? これを行う別の方法はありますか?サイズ変更は比例する必要があるため、幅のサイズ変更制限または高さ制限を設定するだけでなく、画像のサイズを比例的に変更します。
3 に答える
リンク先の例では、次のコマンドを使用しています。
mogrify \
-resize 80x80 \
-background white \
-gravity center \
-extent 80x80 \
-format jpg \
-quality 75 \
-path thumbs \
*.jpg
まず、mogrify
少し危険です。原稿をインラインで操作し、原稿を上書きします。何かがうまくいかない場合、あなたはあなたのオリジナルを失い、間違った結果で立ち往生しています。ただし、あなたの場合、結果がサブディレクトリのthumbs-path thumbs
に書き込まれることを確認するため、この危険性は軽減されます。
別のImageMagickコマンドはconvert
、オリジナルを保持し、次と同じ操作を行うことができますmogrify
。
convert \
input.jpg \
-resize 80x80 \
-background white \
-gravity center \
-extent 80x80 \
-quality 75 \
thumbs/output.jpg
同じ結果が必要で、白いキャンバスの拡張機能(元々は結果を正方形の80x80画像にするために追加されたもの)だけが必要な場合は、-extent 80x80
パラメーターを省略します(-background white
とgravity center
も不要です)。
convert \
input.jpg \
-resize 80x80 \
-quality 75 \
thumbs/output.jpg
また
mogrify \
-resize 80x80 \
-format jpg \
-quality 75 \
-path thumbs \
*.jpg
これは、すべてを 1920x にサイズ変更し、アスペクト比を維持するたびに使用するコマンドです。
mogrify -パス。-resize 1920x1920 -format "_resized.jpg" -quality 70 *.jpg
これが古いスレッドであることは知っていますが、-write フラグと -set フラグを使用すると、元のファイルを上書きすることなく、同じディレクトリ内のファイルに書き込むことができます。
mogrify -resize 80x80 \
-set filename:name "%t_small.%e" \
-write "%[filename:name]" \
*.jpg
http://imagemagick.org/script/escape.phpに記載されているように、%t は拡張子のないファイル名で、%e は拡張子です。したがって、image.jpg の出力はサムネイルの image_small.jpg になります。