Flashステージ上の表示を画像データに
Flash8ではBitmapData.getPixelメソッドを用いることにより、ムービークリップの各ピクセルの色情報を取得することが可能です。得られた各ピクセル情報をサーバに送信しImageMagickで操作することにより、今まで不可能だったFlashステージ上の表示を画像データ化することが可能になりました。
FlashPlayer8→ImageMagick→画像生成(jpg,gif等)
早速サンプルを作ってみたところ、画像生成は見事成功しました。しかしサーバ側の処理(perl)がとっても重たいという問題が発生しました。ステージサイズが大きくなればなるほど処理が重たくなるので、レンタルサーバで行うのなら100x100ピクセルが限界かもしれません。
100x100=10000回 ピクセルを打つ処理を行うのだから、ステージサイズが大きいと処理が重たくなるのは当然ですよね。(500x500で250000回…)
私のWindowsマシン( Pentium4, CPU 3.20GHz, 1.00GB RAM )をサーバとしてCGIを動作させてみましたが、300x300ピクセルで30秒程度、400x400ピクセルで50秒程度、500x500ピクセルで一分半程度画像生成に時間がかかります。レンタルサーバでこんなに重たい処理を行うとサーバ管理者に怒られること必至でしょう。
何か他にうまい方法ないものですかねえ。スピードは変わらないかもしれませんが、JavaAppletにピクセルデータを渡してそこで画像に変換し… とするとサーバを返す必要が無く もっとうまくいきそうな気もしますがまだ未調査です。
FlashPlayer8→JavaApplet→画像生成?
追記)
Flash-JPのFlash8のスレッドよりFlashで作られているお絵描き掲示板情報がありました。画像書き出しも行われていますね。
サーバ側は何のソフトで動いているのだろう。Macromedia製品の何かかな?
追記2)
上記お絵描き掲示板のJPG出力にはColdFusionを用いているようです。