2011-10-25 21 views
5

Zastanawiam się, czy istnieje sposób określenia szerokości i wysokości obrazu, który jest dekodowany do obiektu ByteArray. Na przykład poniżej, w jaki sposób określić te wartości dla danych?Uzyskiwanie rozmiaru obrazu z ByteArray

var data: ByteArray = new ByteArray();

data = encoded_image.decode (byteArrayData);

Odpowiedz

3

Można to zrobić tak:

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

Minusem jest to, że cały obraz będzie dekodowany, więc nie jeśli faktycznie trzeba obraz, ale tylko szerokość i wysokość, możesz chcieć zajrzeć do tablicy bajtów i dekodować format pliku. (Bardziej skomplikowane, ale

+0

jestem coraz Error # 2044: Unhandled IOErrorEvent :. text = Error # 2124: Załadowany plik jest nieznany typ – user1013448

+0

otrzymuję błąd przy mijaniu ByteArray do ładowarki .. Błąd # 2044: Nieobsługiwane IOErrorEvent :. text = Błąd # 2124: Załadowany plik to nieznany typ. – user1013448

+0

Prawdopodobnie dostarczona przez Ciebie funkcja ByteArray nie jest dobra. Skąd pochodzi ta tablica bajtów? –