ImageMagickの変換を使用して画像のサイズを変更し、レターボックスを追加して固定サイズの結果を生成するにはどうすればよいですか?

ImageMagickの変換を使用して画像のサイズを変更し、レターボックスを追加して固定サイズの結果を生成するにはどうすればよいですか?

元の画像の割合を維持し、残りのスペースを構成するために白いレターボックスを追加する固定サイズの800 x 600サムネイルを作成したい任意のサイズの画像があります。できるだけ少ないメールボックスが欲しいです。これはプロセスが次のことを意味します。

  • 最大の軸を選択してください
  • xが最大の場合は、新しいxが800になるように画像のサイズを変更します(比率を維持)。
  • yが最大値の場合は、新しいyが600になるように画像のサイズを変更します(比率を維持)。
  • この時点の結果は800 x 600ではないため(元の比率が正確に4:3でない限り)、結果を800 x 600の長方形の中央に置き、白い背景を追加します。

最初の3つの手順を実行できるconvert -resize 800x600 $input $outputので、他のimagemagickツールを使用して別の画像の上に重ねることができるようですが、一度に実行できると便利です。これが可能かどうかを知っている人はいますか?

答え1

実際にちょうど調べました。マージするには800x600の白い画像が必要ですが、大丈夫です。

convert ~/white.jpg ~/input.png  -resize 800x600 -gravity center -composite ~/output.jpg

質問を投稿して直接回答することが時間の無駄であるという一般的な合意がある場合は、その質問を喜んで削除します。

関連情報