Flash内の画像をjpgでローカルに保存

Flashでは,ムービー内の画像を,JPG保存できない。そこで,Flashムービー内の指定領域のビットマップの全ピクセル情報をサーバに渡して,PHPでJPG画像保存するというトリッキーなやり方があります。画像データが大きいと,ピクセルデータ転送に時間がかかりますが,小さい画像なら,大丈夫でしょう。

流れは,次の通り。

  1. フラッシュ側で,ムービーの指定された領域をビットマップ化する。(SWF)
  2. ビットマップのheight値,width値,全ピクセルデータをLoadVars()でPHPに渡す。(SWF→PHP)
  3. PHPのGDライブラリーで渡された画像データに基づいて,ビットマップを描画しなおす。(PHP)
  4. JPGにて画像をファイル保存し,ローカル側にファイルをダウンロードさせる。(PHP)

3,4はサーバ側の処理になります。

 
blog/flash内の画像をjpgでローカルに保存.txt · 最終更新: 2007/12/06 17:06 by kuha     文書の先頭へ