2009-06-03 7 views
0

のスクリーンショットStageのスクリーンショット(ダンプイメージ)を取得してそれを私のWebサーバーに保存することはできますか?ステージ

+1

"ステージ"を定義してください。 – Noldorin

+1

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Stage.html –

+0

@Andrew:ありがとうございます。私は今それで投稿を明確にしました。 – Noldorin

答えて

7

これはトリックを行う必要があります:直接ステージに

var myBitmapData:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight); 
myBitmapData.draw(stage); 

を(実際に私はあなたがドローを(行うことができるかどうかわからない)、あなたはあなたの上にあるものは何でもでこれを行うために必要がある場合があります代わりにDISPLAYLIST)

次に、このようなコードを使用します。それをサーバーに送信するにはhttp://henryjones.us/articles/using-the-as3-jpeg-encoder

var jpgEncoder:JPGEncoder = new JPGEncoder(85); 
var jpgStream:ByteArray = jpgEncoder.encode(myBitmapData); 

var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream"); 
var jpgURLRequest:URLRequest = new URLRequest("jpg_encoder_download.php?name=sketch.jpg"); 
jpgURLRequest.requestHeaders.push(header); 
jpgURLRequest.method = URLRequestMethod.POST; 
jpgURLRequest.data = jpgStream; 
navigateToURL(jpgURLRequest, "_blank"); 

を。

+0

また、ファイルをローカルに保存する必要がある場合は、Adobe AIRの[File](http://tinyurl.com/5uqd3tz)オブジェクトを使用してファイルを作成し、[FileStream](http://tinyurl.com/dxdr7jr )オブジェクトを[開く](http://tinyurl.com/c2mojrw)、[書き込み](http://tinyurl.com/c9y9rb5)、[ByteArray](http://tinyurl.com/6em96pq)、およびファイルを保存します。 –

+1

リンクが壊れており、bmp.draw(stage)がフィルタを処理しません – avanderw