20

私はこの例http://cubiq.org/create-fixed-size-thumbnails-with-imagemagickに従っていましたが、背景の残り物(つまり白い境界線)を除いて、まさに私が画像でやりたいことです)。これを行う方法はありますか?おそらく白い背景を切り取りますか? これを行う別の方法はありますか?サイズ変更は比例する必要があるため、幅のサイズ変更制限または高さ制限を設定するだけでなく、画像のサイズを比例的に変更します。

4

3 に答える 3

32

リンク先の例では、次のコマンドを使用しています。

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 whitegravity centerも不要です)。

convert             \
   input.jpg        \
  -resize 80x80     \
  -quality 75       \
   thumbs/output.jpg

また

mogrify             \
  -resize 80x80     \
  -format jpg       \
  -quality 75       \
  -path thumbs      \
   *.jpg
于 2012-09-15T09:29:58.727 に答える
6

これは、すべてを 1920x にサイズ変更し、アスペクト比を維持するたびに使用するコマンドです。

mogrify -パス。-resize 1920x1920 -format "_resized.jpg" -quality 70 *.jpg

于 2015-01-13T10:45:45.247 に答える
6

これが古いスレッドであることは知っていますが、-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 になります。

于 2014-05-21T21:44:02.287 に答える