mattintosh note

どこかのエンジニアモドキの備忘録

ImageMagick を使ってテキストデータを画像に変換する

以前、フォント見本を出力するのに ImageMagick を使ってテキストを画像に変換したんだけどその方法を残してなくてちょっと忘れたのでメモしておく。

テキスト変換も色々オプションが多いのだけど端的に書くと以下のコマンドで任意のテキストを画像にすることができる。

convert label:'ImageMagick' out.gif

オプションを変更すれば前景色や背景色の変更、フォントやフォントサイズの変更ができる。

せっかくなので convert --help の出力を画像にしたものを貼り付けておく(クッソ長いけど)。ターミナルで色々試しながら実行するときは色などを変数に入れておくと楽かも。

convert -background steelblue4 -bordercolor steelblue4 -border 20x20 -fill whitesmoke -font DejaVu-Sans-Mono-Book -pointsize 16 label:@- out.gif

実際には awk で最終行の改行コードを取り除いたりしているので以下のようになる。

convert --help | awk '{if(NR>1){print a}a=$0}END{printf a}' | convert -background steelblue4 -bordercolor steelblue4 -border 20x20 -fill whitesmoke -font DejaVu-Sans-Mono-Book -pointsize 16 label:@- out.gif

今回は label:@- で標準入力からのデータから画像に変換しているのでキャンパスサイズはテキストの量によって異なる。逆に、caption:@- を使う場合は横幅などのサイズを指定し、それに合わせてテキストを流しこむことができる。