2012-09-14 12 views
17

この例は、http://cubiq.org/create-fixed-size-thumbnails-with-imagemagickに従っていました。バックグラウンドの残量(白い罫線)を除いてイメージで何をしたいのですか?これを行う方法はありますか、白い背景を切り抜くことは可能でしょうか?これを行う別の方法がありますか?再サイズは比例する必要があるので、幅の再サイズ制限または高さ制限を設定するだけではなく、イメージを比例的にサイズ変更する必要があります。ImageMagick:背景なしでモグリフと比例してサイズを変更する方法

答えて

25

あなたが使用するには、このコマンドのリンク例:

mogrify    \ 
    -resize 80x80  \ 
    -background white \ 
    -gravity center \ 
    -extent 80x80  \ 
    -format jpg  \ 
    -quality 75  \ 
    -path thumbs  \ 
    *.jpg 

まず、mogrifyは少し危険です。オリジナルのインラインを操作し、オリジナルを上書きします。何かがうまくいかないとオリジナルを失い、間違った結果が出てしまいます。結果は、サブディレクトリに書き込まれ親指されますを確認しますので、あなたのケースでは-path thumbsしかし、この危険性を軽減

あなたのオリジナルを維持し、mogrifyと同じ操作を行うことができます別のImageMagickのコマンド、convert、:

convert    \ 
    input.jpg  \ 
    -resize 80x80  \ 
    -background white \ 
    -gravity center \ 
    -extent 80x80  \ 
    -quality 75  \ 
    thumbs/output.jpg 

同じ結果をしたいが、場合だけではないは、ちょうど-extent 80x80パラメータ(-background whitegravity center離れ去る(もともとその結果、正方形80×80の画像を作るために追加された)白いキャンバスの拡張)あまりにも余分再:

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

または

mogrify    \ 
    -resize 80x80  \ 
    -format jpg  \ 
    -quality 75  \ 
    -path thumbs  \ 
    *.jpg 
+0

ありがとう、クルト、私はモグリフの問題に対処します。私はそれと変換する間の違いは何かをよく分かっていませんでしたが、実際にはパスを設定しました。私は確かにマスターイメージファイルを上書きしたくなかった。 – cj5

6

私は、これは古いスレッドですけど、-setフラグで-writeフラグを使用して、1は、同じディレクトリ内のファイルに書き込むことができます元のファイルを上書きせず:

http://imagemagick.org/script/escape.phpで述べたように
mogrify -resize 80x80 \ 
-set filename:name "%t_small.%e" \ 
-write "%[filename:name]" \ 
*.jpg 

は、%tは拡張および%Eなしのファイル名がある拡張機能です。したがって、image.jpgの出力はサムネイルimage_small.jpgになります。

6

これは、すべてを1920xにバッチサイズ変更し、縦横比を保持するたびに使用するコマンドです。

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

+1

実際に '-resize 1920x1920'はアスペクト比を保持し、' max(width、height) 'が1920に等しくなります。 –

関連する問題