Mac標準搭載のコマンドでsips
コマンドがある。画像情報を取得したり付与したりできる。
画像のコマンドといえばimagemagick
だが、imagemagick
よりも少ないオプションで、かつ直感的に実行できるのがsips
コマンドの良いところ。brew等で別途インストールしなくて済むのも良い。
sipsコマンドを知る上でめちゃくちゃ参考になるサイト
基本的な使い方はここ。
Macのターミナルで簡単に画像処理できるsipsの使い方 - Qiita
こちらはOCRツールのtesseractとsipsを組み合わせて中々面白いことをしている。
Tesseractでデスクトップの一部にOCRをかける - Qiita
sipsで画像に枠線をつける
sips -p ${height} ${width} --padColor ${color} ${imagePath} -o ${newImagePath}
例
# 元画像320x320, 枠線の太さを20に設定 sips -p 340 340 --padColor 000000 demo.png -o border_demo.png
元画像のサイズを知っておく必要があるので、それもsipsコマンドで取得するようにすると汎用的になる。
sipsコマンドで画像の幅、高さを指定するには-g
オプションを利用する
# 幅を取得 sips -g pixelWidth demo.jpg # 高さを取得 sips -g pixelHeight demo.jpg
add_border.sh
#!/usr/bin/env bash main() { local image=$1 local color=${2:-a0a8a9} local borderWeight=${3:-10} local width=$(sips -g pixelWidth $1 | awk -F ' ' '{print $2}') local height=$(sips -g pixelHeight $1 | awk -F ' ' '{print $2}') local borderWidth=$(expr $width + $borderWeight) local borderHeight=$(expr $height + $borderWeight) sips -p $borderHeight $borderWidth --padColor $color $image -o border_${image} } main
使い方
sh add_border.sh demo.jpg # 枠線色#000000、太さ20 sh add_border.sh demo.jpg 000000 20
終わり
地味に枠線ほしいときあるから、きっと役に立つ。