舞台截图

时间:2009-06-03 19:40:37

标签: flash actionscript screenshot

是否可以截取Stage的屏幕截图(转储图片)并将其保存到我的网络服务器?

1 个答案:

答案 0 :(得分: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");

将其发送到服务器。