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

By:6dn Date:2009-08-13

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/
 

参与讨论去: 艾睿(Airia) 交朋友去:友吧推荐文章去:网站贴吧
企业招聘

北京中视力天文化传媒有限公司

公司简介:北京中视力天文化传媒有限公司,是CCTV.com央视国际网络有限公司投资的互联网研发团队。我们是天使的使者。。。

招聘FlashAS程序员详情点击

Copyright 2007-2008 51AS.com Extended in kingcms 鲁ICP备06001158号