ImageInfoExtractor类:图片未加载时获取图片信息

ImageInfoExtractor类通过ByteArray方式获取jpg,png,gif等图片的相关信息:例如图片大小,图片宽和高,图片 格式等。当然,这一切都是未加载图片之前,也就是说如果一张相当大的图片,你不必完全加载后才得到这些信息,用ImageInfoExtractor类可 以马上就能读取到它了。
 

使用方法很简单:
 

var myExtractor:ImageInfoExtractor = new ImageInfoExtractor();

myExtractor.addEventListener(ImageInfoExtractor.PARSE_COMPLETE, infoHandler);

myExtractor.addEventListener(ImageInfoExtractor.PARSE_FAILED, errorHandler);

myExtractor.file = "http://www2.pc1280.com/images3/wall/20051104/1280_3d_1015.jpg";

 

var t1:Number=getTimer();

var infoTxt:TextField=new TextField();

infoTxt.width=200;

infoTxt.height=200;

addChild(infoTxt);

 

function infoHandler(e:Event):void {

    trace(getTimer()-t1);

    var line0:String = "image size = " + myExtractor.size;

    var line1:String = "pixel width = " + myExtractor.width;

    var line2:String = "pixel height = " + myExtractor.height;

    var line3:String = "bit depth = " + myExtractor.bitsPerPixel;

    var line4:String = "file type = " + myExtractor.fileType;

    var line5:String = "mime type = " + myExtractor.mimeType;

    infoTxt.htmlText = line0 +"\n"+ line1 +"\n"+ line2 +"\n"+ line3 +"\n"+ line4 +"\n"+ line5;

}

 

function errorHandler(e:Event):void {

    trace( "Size could not be obtained, file was not according to JFIF specification" );

}

 

有兴趣的朋友可以进行研究,下面是ImageInfoExtractor类和示例文件。
点击下载此文件

作者写该类写得挺辛苦的,类出处以及作者原文请看这里:

http://www.emstris.com/2009/05/extracting-binary-info/

你可能感兴趣的:(image)