2011-10-25 5 views
5

Mi chiedo se esiste un modo per determinare la larghezza e l'altezza di un'immagine decodificata in un ByteArray. Ad esempio nel seguito, un modo per determinare questi valori per i dati?Come ottenere le dimensioni dell'immagine da ByteArray

var dati: ByteArray = new ByteArray();

data = encoded_image.decode (byteArrayData);

risposta

3

Si può fare in questo modo:

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

Lo svantaggio è che l'intera immagine sta per essere decodificati, quindi non se effettivamente bisogno l'immagine, ma solo la larghezza e l'altezza, potresti effettivamente voler guardare nell'array di byte e decodificare il formato del file. (Più difficile, ma

+0

sto ottenendo errore # 2044: non gestita IOErrorEvent :. text = errore # 2124: il file caricato è un tipo sconosciuto – user1013448

+0

sto ottenendo un errore quando si passa la ByteArray nel caricatore .. Errore 2044: IOErrorEvent non gestito :. text = Errore # 2124: il file caricato è un tipo sconosciuto. – user1013448

+0

probabilmente il ByteArray che stai fornendo non è buono. Da dove viene quella matrice di byte? –