Flash内の画像をjpgでローカルに保存
Flashでは,ムービー内の画像を,JPG保存できない。そこで,Flashムービー内の指定領域のビットマップの全ピクセル情報をサーバに渡して,PHPでJPG画像保存するというトリッキーなやり方があります。画像データが大きいと,ピクセルデータ転送に時間がかかりますが,小さい画像なら,大丈夫でしょう。
流れは,次の通り。
- フラッシュ側で,ムービーの指定された領域をビットマップ化する。(SWF)
- ビットマップのheight値,width値,全ピクセルデータをLoadVars()でPHPに渡す。(SWF→PHP)
- PHPのGDライブラリーで渡された画像データに基づいて,ビットマップを描画しなおす。(PHP)
- JPGにて画像をファイル保存し,ローカル側にファイルをダウンロードさせる。(PHP)
3,4はサーバ側の処理になります。