Flex AIR 读取本地图片并得到读取图片的Bitmap对象

本文介绍了如何在特定场景下读取本地图像文件,并通过Loader对象将其加载为Bitmap对象的过程,包括选择文件、读取二进制数据以及利用Loader加载图像。
private var loader:Loader = new Loader();
   
   private var bit:Bitmap = new Bitmap();

   private function init():void{
       this.rawChildren.addChild(bit);
    
       //读取本地图像文件
       var file:File = new File();
       var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
       file.addEventListener( Event.SELECT, this.onSelect );
       file.browseForOpen( "Open", [ imageTypes ] );
       
   }
   
   private function onSelect( e:Event ):void
   {
        //e.target.name 文件名称
        //e.target.nativePath 文件路径
    
        //获得读取图像文件的二进制数据
        var fileByte:ByteArray = new ByteArray();
        var fs:FileStream = new FileStream(); 
        fs.open(File(e.target),FileMode.READ); 
        fs.readBytes( fileByte, 0, fs.bytesAvailable );
        fs.close(); 
    
        //使用Loader 对象将图像文件二进制数据加载进来(可加载SWF、GIF、JPEG 或 PNG 格式的文件)
        //使用Loader 是方便通过loader.contentLoaderInfo获得Bitmap对象
        this.loader.unload();
        this.loader.loadBytes( fileByte );
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, image_completeHandler);
   }
   
   private function image_completeHandler(event:Event):void{
       bit.bitmapData = Bitmap(event.currentTarget.content).bitmapData;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值