ImageMagicを使い始めて、これを行う方法を見つけようとしています...画像の高さが50ピクセル未満または幅が50ピクセル未満の場合、白い背景の上に新しい50x50ピクセルのキャンバス-新しい画像として保存します。 ImageMagickでこれが可能かどうかは誰でも知っていますか?ありがとう!
これを行うには-extentを使用しました。
convert input.jpg -gravity center -background white -extent 50x50 output.jpg
私は同じことをしたかったのですが、画像を70%内側に縮小しました。私はこれを使用しました:
convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png
正確に要求されたものではありませんが、うまくいけば誰かを助けるでしょう;)。
膨大な数の例については、 cutting and bordering を参照してください。簡単な方法の1つを次に示します。
convert input.png -bordercolor Black -border 5x5 output.png
もちろん、入力イメージのサイズに基づいて、追加する境界線のサイズを計算する必要があります(存在する場合)。 ImageMagick APIを使用していますか、それともコマンドラインツールのみを使用していますか?
私はかつてこのコードを使用して、白い背景を持つ新しいキャンバスの中央に画像を配置しました。これがあなたを助けることを願っています
convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg
私はこれを試しました:
convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png
これを行うには single composition を使用できます。したがって、次のようになります。
convert -size 50x50 xc:white null: ( my_image.png -coalesce ) -gravity Center -layers Composite -layers Optimize output.png
ソースイメージを変更するには、mogrifyを使用する必要があります。
mogrify -gravity center -background white -extent 50x50 source.jpg