余白を付ける

 さて、余白を付けるという本題から脱線してしまいましたので、本線に戻しましょう。
余白を付けるにはsipsコマンドで-pを指定します。このオプションの後に画像の縦幅と横幅、余白の色を指定します。幅はピクセル数で指定します。
余白の色はオプションのpadColorで指定します。オプションの後に半角空白で区切って16進数で色を指定します。この16進数での色表記はWebなどで使われているRGB各色8ビットと同じです。これは前回padColorを使用した時と同じです。macOS純正のカラーピッカーやフォトショップのカラーピッカーなどで色の値を16進数値で確認、取得するのが楽でよいでしょう。

  • macOSのカラーピッカーとPhotoshopのカラーピッカー

以下のように指定すると320×320ピクセルのサイズで余白を白色で埋めます。なお、img001.jpgは128×171ピクセルにサイズを縮小し、その後で以下のコマンドを実行しています。

sips -p 320 320 --padColor ffffff img001.jpg -o 1.jpg

img001.jpgの画像サイズが320×320ピクセル以上の場合は、余白を埋める必要がないため画像が切り取られた状態になります。

sips -p 320 320 --padColor ffffff img001.jpg -o 1.jpg

印刷した写真風に加工する

 写真を印刷すると、ふちなし印刷をしない限り余白ができます。以下の図のような周辺の白い部分です。

それではsipsコマンドで画像を写真風に加工してみましょう。サイズはサムネールとして使いたいので64×64ピクセルの正方形にします。
手順としては以下のようになります。

(1) 画像を48×48ピクセルに縮小
(2) 余白の色を白にして画像サイズを63×63に拡大
(3) 余白の色を黒にして画像サイズを64×64に拡大

これで写真風のサムネールになります。画像サイズは後で自由に変更できます。とりあえず実際のコマンドを作成しましょう。これまでと同様にカレントディレクトリ内にあるJPEG画像(拡張子がjpgのみ)だけを処理の対象とします。

まず、一枚だけ処理してみましょう。最初に48×48ピクセルサイズに調整します。縦横比をそのままにする必要があるのでオプションにはZを指定します。

sips -Z 48 img001.jpg -o 1.jpg

次に写真に灰色の枠を付けます。ここらへんは立体感を出すためなのと明確に枠を付けるためなのでなくても構いません。 すでに加工済みの画像に対して処理するのでoオプションは不要です。指定しなければ上書きされるからです。以後も同様です。

sips -p 48 48 --padColor 808080 1.jpg
sips -p 49 49 --padColor 000000 1.jpg

次に背景色を白にして63×63ピクセルサイズに調整します。

sips -p 63 63 --padColor ffffff 1.jpg

最後に黒枠を付ければ完成です。

sips -p 64 64 --padColor 000000 1.jpg

ちなみに複数の画像を処理する場合はワイルドカードを使います。以下のように連続でコマンドを入力します。なお、この場合、元画像を書き換えてしまうので注意してください。

sips -Z 48 *.jpg
sips -p 48 48 --padColor 808080 *.jpg
sips -p 49 49 --padColor 000000 *.jpg
sips -p 63 63 --padColor ffffff *.jpg
sips -p 64 64 --padColor 000000 *.jpg