Скриншот Flash и отправить - PullRequest
       28

Скриншот Flash и отправить

1 голос
/ 07 апреля 2011

Как программно сделать снимок экрана приложения Flash и отправить растровое изображение на сервер?- без использования JavaScript, просто Actionscript

1 Ответ

5 голосов
/ 07 апреля 2011

Сделать скриншот так же просто, как нарисовать объект BitmapData.Что-то вроде:

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

Замените this.stage на то, что DisplayObject вы хотите нарисовать.Ознакомьтесь с документами BitmapData: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#draw()

Отправка на сервер зависит от того, как вы подключаетесь к серверу.Если он может принимать необработанные данные из BitmapData, то используйте его.В противном случае закодируйте его с помощью JPEGEncoder или PNGEncoder из файла as3corelib: https://github.com/mikechambers/as3corelib.

Вы можете загрузить его через PHP или записать данные ByteArray из изображения в URLRequest,Как это работает, немного сложнее написать здесь (это включает multipart / form-data).Самый простой способ понять, как это работает, - это проверить API AS3 Facebook, в котором работает загрузка изображений: http://code.google.com/p/facebook-actionscript-api/ (проверьте функцию call() в классе FacebookRequest)

...