いろんな人たちから「何やってんだ(笑)」と言われつつも、とある櫻花の画像生成が完成しました。
http://to-a.ru
元ネタは言わなくてもお分かりいただけるでしょうが、某禁書目録や某超電磁砲のタイトル風画像を作れるだけのサイトです。
ちなみに、「とある画像の自動生成」というサイトが既にあるのですが、Silverlightベースなのでクライアントのインストールが必要ですし、そのほかにも改良したいところが多かったので、自分で作りました。
改良したところ
- サーバでの生成方式に変えた
- グラデーションの粒度を細かくした
- すべての文字にアンチエイリアスをかけた
- フォントを極太明朝に変えた(HG明朝E)
- サーバへの保存機能を設けた
- とある???で、3文字入力を可能にした→ ex. とあるラジオの超電磁砲
今回は、PHP+GDで書いたのですが、文字に斜めの滑らかなグラデーションをかけるのは意外と難しく、文字データとグラデーションを別個で作って、独自のルーチンで合成するということをしました。
ImageMagickのレイヤーを使えば簡単だと言う情報をさまざまな人から寄せられたのですが、「プログラマたるもの制約の中で最高のアウトプットを出さんとあかん」ということで、GDのままです。(といいつつ、「ここまで作ったしGDでいいや」ってのが本音ですww)
まず、グラデーションを生成するコード。