テキストを画像に変換
メールアドレスなどのテキストを画像に変化してくれる『TxtNinja』 - 100SHIKI ~ 世界のアイデアを日替わりでなどで紹介されているTxtNinja.com - Hide email, text or domain from search engines が話題になっているようですが、xgawk を用いることで awk でも変換することができます。
ここでは blank.png という白地の PNG ファイルを用意して、ここに文字を埋め込むことにします。 機能は最小限に絞っているため、必要に応じて拡張をしてください。
#! /usr/local/bin/xgawk -f
# text2png.awk
# テキストを PNG 画像に変換
# usage: xgawk -f text2png.awk text
@load gd
BEGIN {
str = ARGV[1];
png_file = "blank.png";
output_file = "text2png.png";
font = ENVIRON["HOME"] "/.fonts/ipag.ttf";
image_handler = gdImageCreateFromFile(png_file);
color = gdImageColorAllocate(image_handler, 0, 0, 0);
gdImageStringFT(image_handler, brect, color, font, 12, 0, 5, 20, str);
gdImagePngName(image_handler, output_file);
gdImageDestroy(image_handler);
}
GD の機能を使っていますので、全く awk らしくないかもしれませんが、他の言語を見ていても GD で拡張した瞬間に GD の長い関数名を使うケースが多く、元の言語らしさは失われることもあります。
さて、実行は以下のようにします。
$ xgawk -f text2png.awk 'hi_saito@yk.rim.or.jp'

得られた画像は右のものになります。 細かなことにこだわってないため、何の変哲もありませんが、それだけ簡単に組んでいます。

