0

AIRのバルクローダーライブラリを使用してイメージをダウンロードしてから、AS3corelibを使用してファイルローカルに保存しようとしています。

var byteArray:ByteArray = jpgEncoder.encode( loader.getContent("IMG_0004.JPG") );
stream.writeBytes(byteArray);
stream.close();

しかし、私はこのエラーを取得しています:

TypeError:エラー#1034:タイプ強制に失敗しました:flash.display::Bitmap@8349a81をflash.utils.ByteArrayに変換できません。

私はこれを解決する方法がわかりません。

4

2 に答える 2

3

encode関数はオブジェクトBitmapDataを必要としていますが、あなたはそれにオブジェクトを与えていますBitmap

したがって、これを実行できるはずです。

var byteArray:ByteArray = jpgEncoder.encode( Bitmap(loader.getContent("IMG_0004.JPG")).bitmapData );
于 2013-02-19T12:22:50.893 に答える
1

DomingoSLなので、元の問題は解決され、問題はjpegエンコーディングになりました。はい、標準ライブラリのjpegエンコーダは非常に低速です。これまで使用できた中で最も遅いエンコーダーです。http://www.bytearray.org/?p=775で読んでください。ヒント:すべてのコメントを読むと、サイレント保存に対する回答が得られます。

于 2013-02-19T16:10:25.303 に答える