在Flex 3中获取屏幕截图的最快方法?

时间:2009-10-14 20:28:56

标签: actionscript-3 flex3 screenshot

在flex中获取屏幕截图的最快方法是什么?我目前正在使用:(我目前将其编码为Base64以上传到网络服务器,但这不一定是必需的。我想要的只是一个图像文件出现在服务器上。)

  ImageSnapshot.defaultEncoder = JPEGEncoder;
  var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(<< flex component >>);
  var screenshotData:String = ImageSnapshot.encodeImageAsBase64(imageSnap);

它实际上捕获了整个应用程序几秒钟,因为它实际捕获了图像。 Base64编码基本上是即时发生的。

3 个答案:

答案 0 :(得分:2)

查看以下网址,它是一个开源JPEG编码器,比corelib中的编码器快4倍。

http://www.bytearray.org/?p=775

答案 1 :(得分:0)

看看答案:Thumbnails of components

我使用了一个非常相似的功能而且它非常快,所以希望你这样做没有问题。

答案 2 :(得分:0)

遗憾的是,开源JPEG编码器并不比mx.codecs编码器快。但是,PNG编码器的内置速度是JPEG编码器的6倍。这解决了我目前遇到的问题,即压缩太慢。

CookieOfFortune的“组件缩略图”答案解决了另一个问题,即将快照与压缩分开拍摄,(对我来说,快照需要大约5毫秒,压缩,现在,<500毫秒)。