ImageMagickで画像に文字を描画


機械学習用にいろいろなテキストが入った文字を用意したかったので
ImageMagickで生成できるテキスト画像について調べた。

テキスト入りの画像を作る

ImageMagickで文字を描画するには次のコマンドを用いる

基本のコマンド:

convert -font フォント -pointsize 文字ポイントサイズ label:文字列 出力ファイル名

“Sample”という文字の入ったJPEG画像を作る。


convert -font Arial.ttf  -pointsize 32 label:Sample  sample.jpg

ImageMagickで文字描画

文字色と背景色を指定する。


convert -font Arial.ttf -fill blue -background gray -pointsize 32 label:Sample  sample.jpg

ImageMagickで文字描画:色指定

画像のサイズを200×200にして、文字を中央に配置する。


convert -size 200x200 -gravity center -font Arial.ttf -fill blue -background gray -pointsize 32 label:Sample  sample.jpg

ImageMagickで文字描画:中央寄せ

フォントの指定

ImageMagickで使用できるフォントの一覧を表示するには以下のコマンドを実行する。


convert -list font

-list fontで表示されるフォントの名前を-fontで指定するとそのフォントで文字が描画される。
-list fontで表示されるもの以外のフォントを使いたいときは-fontにttfファイルのパスを指定する。

オプション

文字入りテキストを作るときによく使うオプション。

-font
描画に用いるフォント。ttfファイルのパスを指定
-pointsize
文字の大きさ。ポイントで指定
-fill
文字色。black, white, blue等
-background
背景色。black, white, blue等
-size
横x縦のピクセル指定。200×100は横200ピクセル縦100ピクセルの大きさ
-gravity
縦横を指定している場合に文字をどこに置くか。
NorthWest: 左上
North: 上
NorthEast: 右上
West: 左
Center: 中央
East: 右
SouthWest: 左下
South: 下
SouthEast: 右下

ImageMagickの全てのオプションはこちら
http://www.imagemagick.org/script/command-line-options.php

ImageMagickで使用できる色の一覧

ImageMagickで色を指定するときは色の名前かクォーテーションで囲ったカラーコードで指定する。

convert -bordercolor lime -border 10 image.jpg image.png
convert -bordercolor ‘#0f0’ -border 10 image.jpg image.png
convert -bordercolor ‘#00ff00’ -border 10 image.jpg image.png
convert -bordercolor ‘rgb(0,255,0)’ -border 10 image.jpg image.png
convert -bordercolor ‘rgb(0,100%,0)’ -border 10 image.jpg image.png

色の一覧
http://www.imagemagick.org/script/color.php

フォント見本

おまけ。
ImageMagickでフォントの見本が簡単に作成できる。
ttfファイルをJPEG等の画像フォーマットに変換するとフォント見本になる。


convert Arial.ttf arial_index.jpg

ImageMagickでフォント見本

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です