ByteArrayにデコードされる画像の幅と高さを判断する方法があるかどうかは疑問です。たとえば、以下のように、データのこれらの値を決める方法はありますか?ByteArrayから画像サイズを取得する
var data:ByteArray = new ByteArray();
data = encoded_image.decode(byteArrayData);
ByteArrayにデコードされる画像の幅と高さを判断する方法があるかどうかは疑問です。たとえば、以下のように、データのこれらの値を決める方法はありますか?ByteArrayから画像サイズを取得する
var data:ByteArray = new ByteArray();
data = encoded_image.decode(byteArrayData);
あなたはこのようにそれを行うことができます。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded)
loader.loadBytes(byteArrayData);
-
function onLoaded(e:Event):void
{
var loader:Loader = Loader(e.target.loader);
var bitmapData:BitmapData = Bitmap(e.target.content).bitmapData;
width = bitmapData.width;
height = bitmapData.height;
// cleanup
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaded);
}
あなたが実際に画像を必要としないので、もし欠点は、画像全体を復号化しようとしているということです、幅と高さのみを使用する場合は、実際にはバイト配列を調べてファイル形式をデコードする必要があります。 (もっとトリッキーな、しかし
あなたはヘッダからそれを読むことができます。 ヘッダは、しかし、ファイルタイプごとに異なります。カスタムイメージデコーダで 見て、これは彼らが行うものの一つである。ここで
が1でありますPNG画像のために:
私は、エラー#2044を取得しています:未処理のIOErrorEventを:.テキスト=エラー#2124:ロードされたファイルには、未知のタイプです – user1013448
ローダーへのByteArrayを渡すときに、私はエラーを取得しています 。 エラー#2044:未処理のIOErrorEvent: text =エラー#2124:ロードされたファイルは不明なタイプです。 – user1013448
おそらくあなたが提供しているByteArrayは良くありません。そのバイト配列はどこから来ていますか? –