ImageMagickで画像の余白を広げる

はじめに

以下のような余白に余裕のない画像は少々窮屈に見えるので、余白を広げたくなる場合がある。 ペイントソフトなどで調整するのは面倒なので、コマンドラインツールできないか調べてみた。 その結果、ImageMagickのコマンドconvertで実現できたので、メモを残しておく。

f:id:redj:20200504004431p:plain

環境

$ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Ubuntu 20.04 LTS"

ImageMagickのインストール

ImageMagickがインストールされていなければ、以下のコマンドを実行してインストールする。

$ sudo apt install imagemagick-6.q16

余白の広げ方

以下のようにコマンドconvertを実行する。 ここでは、入力画像をtest.png、出力画像をtest-extent.pngとしている。

$ convert \
    test.png \
    -gravity center \
    -extent 200x130 \
    test-extent.png

オプション-extentは、画像のキャンバスを指定の大きさにリサイズする。 元の画像からどのくらい大きくすればよいかは見栄えの感覚的なものなので、試行錯誤で決める。 オプション-gravity centerにより、大きくしたキャンバスのセンターに元の画像を配置することで、上下左右に余白が生まれる。 上記のコマンドで生成されたtest-extent.pngは以下のとおり。

f:id:redj:20200504012557p:plain

オプション-extentでのデフォルトの背景色は白色だが、変更したい場合は以下のようにオプション-backgroundを指定する。

$ convert \
    test.png \
    -background SkyBlue
    -gravity center \
    -extent 200x130 \
    test-skyblue.png

上記のコマンドで生成されたtest-skyblue.pngは以下のとおり。

f:id:redj:20200504014238p:plain

付録:ここで利用した元画像の生成方法

ここで利用した余白に余裕がない元画像は、同じくコマンドconvertを利用して、以下のように生成した。

$ convert \
    -pointsize 96 \
    caption:test \
    test.png

参考