【问题标题】:Screenshot of stage舞台截图
【发布时间】:2009-06-03 19:40:36
【问题描述】:

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

【问题讨论】:

标签: flash actionscript screenshot


【解决方案1】:

这应该可以解决问题:

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

(实际上我不确定您是否可以直接在舞台上执行 draw(),您可能需要在 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");

将其发送到服务器。

【讨论】:

  • 或者,如果您需要将文件保存在本地,您可以使用 Adob​​e AIR 的 File 对象创建文件并将 FileStream 对象到 open 文件,write @987654326 @ 并保存文件。
  • 链接断开,bmp.draw(stage) 不处理过滤器
猜你喜欢
  • 2012-11-22
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 2020-04-17
  • 2013-04-28
  • 2014-08-07
  • 2013-12-04
  • 2014-03-17
相关资源
最近更新 更多