在flex中获取屏幕截图的最快方法是什么?我目前正在使用:(我目前将其编码为Base64以上传到网络服务器,但这不一定是必需的。我想要的只是一个图像文件出现在服务器上。)
ImageSnapshot.defaultEncoder = JPEGEncoder;
var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(<< flex component >>);
var screenshotData:String = ImageSnapshot.encodeImageAsBase64(imageSnap);
它实际上捕获了整个应用程序几秒钟,因为它实际捕获了图像。 Base64编码基本上是即时发生的。
答案 0 :(得分:2)
查看以下网址,它是一个开源JPEG编码器,比corelib中的编码器快4倍。
答案 1 :(得分:0)
我使用了一个非常相似的功能而且它非常快,所以希望你这样做没有问题。
答案 2 :(得分:0)
遗憾的是,开源JPEG编码器并不比mx.codecs编码器快。但是,PNG编码器的内置速度是JPEG编码器的6倍。这解决了我目前遇到的问题,即压缩太慢。
CookieOfFortune的“组件缩略图”答案解决了另一个问题,即将快照与压缩分开拍摄,(对我来说,快照需要大约5毫秒,压缩,现在,<500毫秒)。