Сделать скриншот так же просто, как нарисовать объект 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
)