【ByteArray】

キャプチャしたByteArrayをBitmapDataへ変換し再利用

Actionscript3 corelib

画面をキャプチャし JPEG / PNG 変換した画像を Flash 内部で再利用するの巻。

AS3, 画面をキャプチャして画像生成(JPG,PNG)では、ByteArrayをString変換し、サーバーのPHPに送りecho されたデータをLoadしているけど、Flashだけでどうにかなんないかと考えてみました。
サーバーへデータを送る時の手順は次のようになります。

  1. キャプチャしたい矩形をgetBoundsで取得
  2. 矩形サイズのBitmapDataをつくりキャプチャ元を複製
  3. corelibの JPGEncoder, PNGEncoder でByteArrayへエンコード
  4. ByteArrayをBase64でString型へ
  5. サーバーへPOST送信

この投稿の続きを読む »

Bookmark and Share

AS3, 画面をキャプチャして画像生成(JPG,PNG)

Actionscript3 corelib

AS3のflash.utils.ByteArrayを使うとバイト単位の操作が可能になる、おかげてFlashでJPEG,PNGなどの画像生成もできる。
他にもzipアーカイブ解凍や音声なしflvも作成可能。

Adobe – Developer Center 2008-09-28の記事 Saving Flash graphics as image files at runtimeにソースファイル付きでサンプルがあったのでありがたく試してみる。
著者のClive GoodinsonはネットでComicが作れるPixton.comの制作に携わったgoodinson.comの人。

サンプルは入力したテキストごとMovieClipをキャプチャした後、JPGかPNGに変換して、サーバーのPHPにデータを送り
・再度読み込む
・ダウンロードする
・ブラウザの別ウインドウに表示する
が行えるようになっている。

サーバー側のPHPは単にデータを返すだけで、これで画像を生成していない。
画像生成処理まですべてFlash側でできることがスゴイ。
Diretorだとサードパーティーのextraを使わないといけないところ・・・
この投稿の続きを読む »

Bookmark and Share
WP Theme & Icons by N.Design Studio
RSS