文字列のアウトラインを取得する?

時間が無い。。。ネタも無い。。。そんな時こそ。。。ガラクタを。昔AmazletamaztypeというFlashのサービスを見てどうやってのか分からんかったけど、なんかのインタビューで、文字列を画像に変換して、どうのこうのしてるみたいな事をいっていたので、じゃあ文字列のアウトライン情報を、PHPかなんかでFlashに返してやればできるんじゃねとか思って、作ろうかと思ったけど、なんだかメンドクサクナッて、放置していたのものをそのままであげてみるテスト。

もう説明するのもメンドイので、ソース見てくれ。(ヒドすww)

<?php
$height    = 17;
$zen_width = 200;
$rotate    = 0;
$font_size = 15;

$im    = imagecreate($zen_width,$height);
$black = ImageColorAllocate($im, 0, 0, 0);
$white = ImageColorAllocate($im, 255, 255, 255);

// フォントパスは環境に合わせてください。
$font1 = "/usr/share/fonts/ja/m+ipa/M+1P+IPAG-circle.ttf";

$str = "新橋ごめん!";
$str = mb_convert_encoding($str,'UTF-8','auto' );

ImageTTFText ($im, $font_size, $rotate, 0, $font_size, $white, $font1, $str);
$image_width  = imagesx($im);
$image_height = imagesy($im);

for($y=0; $y < $image_height; $y++)
{
    for($x=0; $x < $image_width; $x++)
    {
        $index = imagecolorat($im,$x,$y);
        print ($index >0)? '' : '';
    }
    print '<br />';
}
ImageDestroy($im);
  • 実行結果

これを実行すると、文字列のアウトラインを*1、「■」と「□」で表示してくれるので、XMLとかJSONFlashに返してやれば、Amazletamaztypeみたいなことが出来るとか思ってみたけど、たしかAS3だと、SWFの中で画像生成出来たような気がするので、わざわざこんな事をする必要ないんじゃないかと思ってる。後多分上のヤツはGDが入ってないと動かないぞー。

それにしても、このエントリは近年稀に見るヒドイさ。。。。酔っ払いみたいだな。
なんで新橋に謝ってるかというと、今日面談やるっつったのにすっぽかしたww うぇwwごめwww 殺してくださいm( _ _ )m

*1: 多分アウトラインという表現は正しくないと思う、なんて言うんかな?