我有一个在Adobe AIR中开发的应用程序,并使用Flex SDk 4.6for iOS编译。该应用程序有一个模块,用户可以在其中将当前屏幕保存到应用程序存储中。这是正常工作,但它需要大约6-8秒来保存图像。
我使用bitmapdata绘制舞台,然后使用jpgencoder将其转换为bytearray,然后使用File reference将其保存到appstorage。
有没有人能让我知道这是不是捕捉图像的正确且唯一的方法,或者在iOS上有更好的替代方案?
以下是我的代码
var bmp:BitmapData = new BitmapData(640,960,false,0)
bmp.draw(this);
//
var je:JPGEncoder = new JPGEncoder();
var b:ByteArray = je.encode(bmp);
var saveFileName = String( new Date().milliseconds ) + ".jpg";
var cropFile:File = appDir.resolvePath(saveFileName)
var stream = new FileStream();
stream.open(cropFile, FileMode.WRITE);
stream.writeBytes(b,0,b.bytesAvailable);
stream.close();
bmp.dispose();发布于 2012-10-13 01:49:37
对于那些正在寻找解决方案的人,请访问http://www.labs.saachitech.com/2012/10/12/capture-image-on-a-adobe-ios-application-and-save-to-ios-device-disk/并下载swc和an文件,以便在iOS设备上更快地保存位图数据。
发布于 2012-09-16 21:50:42
如果你想减少捕获时间,也许你可以使用本地扩展。在ios上有一个名为UIGetScreenImage的应用程序接口。我想它一定是非常快的。
https://stackoverflow.com/questions/12429936
复制相似问题