複数のサイズがまちまちな画像ファイルについて、一括でまとめて正方形にしたい。一辺の長さは縦幅と横幅のうち大きい方を採用し、足りない分は白または透明で塗りつぶす。 imagemagickを使ってシェルスクリプトで実装した。 ソースコード 環境はmacOS 10.13でGNU bash 3.2.57。 まず、余白をつけるのは以下のコマンド。 convert hoge.jpg -background none -gravity center -extent 300x300 hoge-out.jpg 背景色を白に指定する場合は、-background noneでwhiteを指定。-gravityは開始位置で、指定しない場合は左上がデフォルト。 これを使って、複数ファイルについて適用するシェルスクリプトを以下に書く。余白は白色。画像以外のファイルを入力した場合はスルー。出力先はsquareディレクト