Take a snapshot from the Flash Player
Take a snapshot of a DisplayObject rendered inside the Flash Player and have the byte array available for server side processing or for reuse inside the Flash application.
import com.adobe.images.*; import com.dynamicflash.util.Base64; import flash.display.DisplayObject; import flash.geom.Rectangle; import flash.utils.ByteArray; function capture(target:DisplayObject, options:Object, format:String):void{ var relative:DisplayObject = target.parent; var rect:Rectangle = target.getBounds(relative); var bitmapData:BitmapData = new BitmapData(rect.width, rect.height); bitmapData.draw(relative, new Matrix(1, 0, 0, 1, -rect.x, -rect.y )); var byteArray:ByteArray; switch (format){ case "JPG": var jpgEncoder:JPGEncoder = new JPGEncoder(JPG_QUALITY_DEFAULT); byteArray = jpgEncoder.encode(bitmapData); break; case "PNG": byteArray = PNGEncoder.encode(bitmapData); break; } var byteArrayAsString:String = Base64.encodeByteArray(byteArray); // Send the data to the server