動かざることバグの如し

近づきたいよ 君の理想に

Imagemagickで画像の上下左右に余白を追加する

言わずと知れた最強画像処理コマンドImagemagickのネタ

やりたいこと

  • 画像の上下左右に白の余白を追加したい
  • 最終的には画像の解像度は変更せずに余白を追加したい(つまりオリジナルの部分は小さくなる

失敗例

imagemagick 余白」で検索すると余白追加には-spliceというオプションが有効らしい。早速使ってみる。

元画像(300x300px)

f:id:thr3a:20180325161203p:plain

convert icon.png -mattecolor "#fff" -splice 25x25 icon_padding.png

結果

f:id:thr3a:20180325161207p:plain

え、あそういう?どうも上下左右には一回でできないっぽい。使えない子だな

成功例

-frameオプションを使うと一発で余白追加できる。もともとはその名の通りフレーム追加用のオプションだが#fff指定すれば事実上の余白になるって戦法

convert icon.png -mattecolor "#fff" -frame 50x50 icon_padding.png

f:id:thr3a:20180325161204p:plain

画像の解像度そのものは変えたくないって場合は元画像の解像度で-resizeすればよい。

convert icon.png -mattecolor "#fff" -frame 50x50 -resize 300x300 icon_padding_resize.png

f:id:thr3a:20180325161210p:plain

やったね