Webサイトやブログの文章を元に、雪の結晶のような模様の画像を生成するサービスを作ってみた
何となくアイデアが湧いてきてカリカリと作っていたんですが、とりあえず形になるところまでできたので、公開してみます。
使い方
使い方は簡単。サイトのURLか文章を直接入力するかして"DoCrystal!"ボタンを押すと、対象の文章を元に雪の結晶っぽい画像を生成します。
文章を直接入力する場合は、それなりに文章量が多くないと結晶が育たないと思うのでご注意を。
基本的には、ただそれだけのサービスなんですが…ブログパーツなどで、"自分のブログの結晶"というような形で貼ってもらえる事を想定して作ってみたものです。
アルゴリズムは企業秘密という事にしておこうかと思いますが、基本的に対象文章の文字の量・質によって、結晶の枝が伸びるようになっています。
なので、Googleみたいにシンプルなサイトだと、結晶もシンプルになります。
逆に、当ブログのように文字の多いサイトだと、結晶もごちゃっとした感じになります。
ランダム生成ではなくきちんと文章を解析しているので、全く同じ文章であれば同じ結晶になりますが、どういう文章だとどんな結晶になるかは、正直、作った本人でも分かりません…。
ちなみに、意味解析はしていないので、「ありがとう」とかいっぱい書いても、キレイな結晶になる訳ではないので、あしからず。(笑)
APIについて
直接画像を返すAPIを用意しています。imgタグを使って、一度生成した結晶画像や、特定のURLの結晶画像を表示させる事ができます。以下は、当ブログの結晶画像を表示する例です。
<img src="http://www.stellaqua.com/docrystal/api/images.php?url=http://d.hatena.ne.jp/stellaqua/">
一度生成して、IDが付与された画像の場合は、urlパラメータの代わりに"id={画像ID}"として、画像を指定する事もできます。
また、"size=small"を付けると、100x100pxの小さい画像になります。(通常サイズは、300x300pxです。)
エラーがある場合は、全てレスポンスコード500を返します。*1
文章量が多いサイトのURLを指定した場合、初めてのアクセスの場合は解析・画像生成を行う為、多少時間が掛かる事があるのでご注意下さい。
ちなみに…この記事書く時に、はてな記法で結晶画像を貼り付けようとしたところ、どうも動的URLはダメっぽいので、慌てて静的URL用のRewriteRuleを作りました。以下のように書けば、はてなダイアリー内で結晶画像を貼り付ける事ができます。
[http://www.stellaqua.com/docrystal/images/id_39b533a4ca7fc4c69303a326bc91de11_small.png:image]
画像のIDは、画像生成した時に表示される大きい結晶画像のURLに入っていますので、そこから得る事ができます。
という訳で、ぜひ遊んでみてやって下さいね。
*1:きちんとエラーコードを分けていないのは手抜きです。すみません。(^^;ゞ