actionscript 3 - portable - Obtener tamaño de imagen de ByteArray
pacman en adobe flash descargar (2)
Me pregunto si hay alguna forma de determinar el ancho y el alto de una imagen decodificada a un ByteArray. Por ejemplo en el siguiente, ¿alguna forma de determinar estos valores para los datos?
var data: ByteArray = new ByteArray ();
data = codified_image.decode (byteArrayData);
Puedes hacerlo así:
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);
}
La desventaja es que la imagen completa se decodificará, por lo que si realmente no necesita la imagen, pero solo el ancho y alto, es posible que desee buscar en el conjunto de bytes y descodificar el formato de archivo. (Más complicado, pero
puedes leerlo desde el encabezado. los encabezados son diferentes para cada tipo de archivo. mira descodificadores de imagen personalizados, esta es una de las cosas que hacen.
aquí hay uno para pngs: