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

来源:互联网 发布:tplink 访客网络 编辑:程序博客网 时间:2024/05/17 12:56
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;

   }

原创粉丝点击