0

Adobe AIR で開発され、iOS 用の Flex SDk 4.6 を使用してコンパイルされたアプリケーションがあります。アプリケーションには、ユーザーが現在の画面を appstorage に保存できるモジュールがあります。これは正常に機能していますが、画像を保存するのに約 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();
4

2 に答える 2

0

キャプチャの時間を短縮したい場合は、ネイティブ拡張を使用できます。iOS には、UIGetScreenImage という API があります。とても速いに違いないと思います。

于 2012-09-16T13:50:42.117 に答える
0

解決策をお探しの方は、http://www.labs.saachitech.com/2012/10/12/capture-image-on-a-adobe-ios-application-and-save-to-ios-deviceにアクセスしてください。 -disk/を実行し、swc ファイルと ane ファイルをダウンロードして、iOS デバイスでのビットマップ データの保存を高速化します。

于 2012-10-12T17:49:37.493 に答える