web-dev-qa-db-ja.com

ImageMagickを使用して、より大きなキャンバス内に画像を配置します

ImageMagicを使い始めて、これを行う方法を見つけようとしています...画像の高さが50ピクセル未満または幅が50ピクセル未満の場合、白い背景の上に新しい50x50ピクセルのキャンバス-新しい画像として保存します。 ImageMagickでこれが可能かどうかは誰でも知っていますか?ありがとう!

58
Mike

これを行うには-extentを使用しました。

convert input.jpg -gravity center -background white -extent 50x50  output.jpg
108
Jared

私は同じことをしたかったのですが、画像を70%内側に縮小しました。私はこれを使用しました:

convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png

正確に要求されたものではありませんが、うまくいけば誰かを助けるでしょう;)。

5
gleenn

膨大な数の例については、 cutting and bordering を参照してください。簡単な方法の1つを次に示します。

convert input.png -bordercolor Black -border 5x5 output.png

もちろん、入力イメージのサイズに基づいて、追加する境界線のサイズを計算する必要があります(存在する場合)。 ImageMagick APIを使用していますか、それともコマンドラインツールのみを使用していますか?

4
Adam Rosenfield

私はかつてこのコードを使用して、白い背景を持つ新しいキャンバスの中央に画像を配置しました。これがあなたを助けることを願っています

convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg
4
Vinu vasudev

私はこれを試しました:

convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png
3
Josh

これを行うには single composition を使用できます。したがって、次のようになります。

convert -size 50x50 xc:white null: ( my_image.png -coalesce ) -gravity Center -layers Composite -layers Optimize output.png

1
Douglas Sellers

ソースイメージを変更するには、mogrifyを使用する必要があります。

mogrify -gravity center -background white -extent 50x50  source.jpg
1
user1309871