
UNIX Cafe | 第45回
ImageMagickコマンドで画像に文字を入れる方法|Mac/Linux
ブログのアイキャッチ画像やSNSの投稿写真に、タイトルや説明文を入れたい。そんな時、わざわざ画像編集ソフトを立ち上げるのは少し面倒ですよね。
もしあなたがMacやLinuxユーザーなら、コマンドラインツール「ImageMagick」を使えば、その作業が一瞬で完了します。
この記事では、ImageMagickを使って画像にテキストを合成する、シンプルながらも非常に強力な方法を徹底解説します。
基本の文字入れから、フォントや色の指定、プロ並みに読みやすいデザインテクニックまで、コピペですぐに使えるコマンド例を豊富に紹介。面倒な画像加工を自動化・効率化したい方は必見です。
ミナちゃんSNSにアップする写真に、おしゃれなタイトルを入れたいんですが…ターミナルからでもできますか?



大丈夫だよ、ImageMagickを使えば、文字の位置、大きさ、色、フォントまで自由自在。基本から応用まで、順番にマスターしていこう。
基本:画像に文字を入れる最もシンプルなコマンド
まずは、画像にテキストを追加する基本形です。-annotate オプションを使い、文字の位置と内容を指定します。
いちばんシンプルな書き方
magick input.jpg -gravity South -pointsize 48 -annotate 0 "Hello World" output.jpg- -gravity South: 文字を配置する基準位置を指定します。
→ South(下中央)、Center(中央)、NorthWest(左上)などがあります。 - -pointsize 48: 文字の大きさを指定します。
- -annotate 0 “Hello World”: 実際に文字を描画する命令です。
→ 0は回転角度、”Hello World”が挿入するテキストです。



なるほど!-gravityで大まかな位置を決めるんですね。簡単!
位置調整:文字を好きな場所にピクセル単位で配置する
-gravity よりもさらに細かく、ピクセル単位で文字の位置を決めたい場合は -draw オプションを使います。
座標を指定したいとき
magick input.jpg -pointsize 48 -draw "text 50,100 'Welcome!'" output.jpg-draw “text 50,100 ‘Welcome!’: `text X,Y ‘テキスト’` の形式で指定します。`50,100`は「左から50px、上から100px」の位置を意味します。



これなら狙った場所にピンポイントで文字を置けるね。デザインにこだわりたい時に便利だよ。
デザイン編:フォント・色・縁取りを自由にカスタマイズ
ImageMagickの真骨頂は、ここからです。文字のフォント、色、そして視認性を高めるための縁取り(ストローク)も自由自在に設定できます。
色やフォントを指定する例
magick input.jpg \
-font Helvetica \
-fill white \
-stroke black -strokewidth 2 \
-pointsize 60 \
-annotate +50+50 "UNIX Café" \
output.jpg
- -font Helvetica: 使用するフォントを指定します。
→ PCにインストールされているフォント名や、フォントファイルのパスで指定できます。 - -fill white: 文字の塗りつぶし色を指定します。
- -stroke black -strokewidth 2: 文字の縁取りを「黒色」で「太さ2px」に設定します。
→ 写真の上に文字を置く場合、縁取りをつけるだけで格段に見やすくなります。



白文字に黒の縁取りは、どんな写真にも合わせやすくて見やすいです。
プロの技:半透明の背景(座布団)で文字の可読性を劇的に上げる
どんなに縁取りを工夫しても、背景の写真が複雑で文字が読みづらいことがあります。そんな時の最終手段が、テキストの下に半透明の帯(通称:座布団)を敷くテクニックです。ニュース番組のテロップなどでも使われるプロの技です。
半透明の黒帯の上に白文字をのせる例
magick input.jpg \
-fill "rgba(0,0,0,0.5)" -draw "rectangle 0,400 1200,500" \
-fill white -pointsize 60 -annotate +30+470 'Welcome!' \
output.jpg- -fill “rgba(0,0,0,0.5)”: 塗りつぶし色を「半透明の黒」に指定します。rgbaの最後の0.5が透明度です。
- -draw “rectangle X1,Y1 X2,Y2”: 長方形を描画します。
→ (X1,Y1)を左上の角、(X2,Y2)を右下の角とする四角形が描かれます。 - このコマンドでは、先に半透明の長方形を描画してから、その上に改めて -fill white で指定した白色のテキストを重ねています。



これなら、明るい写真や複雑な背景でも、文字がくっきり読めますね!
応用:改行して複数行のテキストを入れる方法
改行を含んだ複数行のテキストを入れたい場合は、テキスト内に改行コード \n を含めるだけです。日本語を表示するには、日本語対応フォントのパスを -font オプションで明示的に指定する必要があります。
magick input.jpg \
-font "/System/Library/Fonts/ヒラギノ角ゴシック W3.ttc" \
-gravity Center -pointsize 48 \
-fill white -stroke black \
-annotate 0 "UNIX Caféへようこそ\n複数行のテキスト挿入テスト" \
output.jpg- “テキスト1\nテキスト2”: \n を入れた箇所で自動的に改行されます。
- 日本語フォントの指定: Macの場合は /System/Library/Fonts/ の中にあるヒラギノフォントなどを指定するのが一般的です。
まとめ:コマンドを駆使して表現の幅を広げよう
mageMagickを使えば、ターミナルから驚くほど柔軟にテキストを画像に合成できます。
- -annotate や -draw で手軽に文字入れ。
- -gravity や座標指定で自由なレイアウト。
- -font, -fill, -stroke で文字をデザイン。
- 半透明の座布団で、どんな背景でも読める文字に。
これらのテクニックを組み合わせれば、ブログやSNSの画像がもっと魅力的で、伝わりやすいものになるはずです。ぜひ、あなたの環境で試してみてください。



一度コマンドを作ってしまえば、あとはテキストや画像ファイル名を変えるだけで使い回せるから、作業効率も格段にアップするよ。
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本











