【问题标题】:Saving bitmapdata on iOS in Adobe AIR在 Adob​​e AIR 中保存 iOS 上的位图数据
【发布时间】:2012-09-14 18:21:39
【问题描述】:

我有一个在 Adob​​e AIR 中开发并使用适用于 iOS 的 Flex SDk 4.6 编译的应用程序。该应用程序有一个模块,用户可以在其中将当前屏幕保存到应用程序存储。这工作正常,但保存图像大约需要 6-8 秒。

我使用bitmapdata绘制舞台,然后使用jpgencoder将其转换为bytearray,然后使用文件引用将其保存到appstorage。

有人可以告诉我这是捕获图像的正确且唯一的方法,还是在 iOS 上的 AIR 方面有更好的替代方法?

这是我的代码

        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();

【问题讨论】:

    标签: air


    【解决方案1】:

    如果你想减少捕获时间,也许你可以使用原生扩展。 在 ios 上有一个名为 UIGetScreenImage 的 API。我想它一定很快。

    【讨论】:

    • 好的,我试试看。谢谢
    • 这未经 Apple 批准。
    【解决方案2】:

    对于那些正在寻找解决方案的人,请转到http://www.labs.saachitech.com/2012/10/12/capture-image-on-a-adobe-ios-application-and-save-to-ios-device-disk/ 并下载 swc 和 ane 文件,以便在 iOS 设备上更快地保存位图数据。

    【讨论】:

      猜你喜欢
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      • 2019-04-21
      • 1970-01-01
      • 2016-06-27
      相关资源
      最近更新 更多