flex image 控件显示bmp 格式图片

主要原理也是使用2进制载入,再按24位BMP文件格试进行读取并转换成BitmapData再显示出来,只要读入BMP图片转换成二进制,再转成BitmapData,最后把获取位图数据的Bitmap传给Image源,让Image控件显示出来。
下面是我的一个Flex工程:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:Script>
        <![CDATA[
  
            import mx.core.UIComponent;
            import mx.core.BitmapAsset;
            //导入BMPDecoder
              import imageDecoder.BMPDecoder;
            private function showimage():void {
              loadBMPFile("../test.bmp");
            }   
            private function loadBMPFile( url:String ):void {
                var loader:URLLoader = new URLLoader();
                 //指定loader以二进制返回数据
                loader.dataFormat = URLLoaderDataFormat.BINARY;
                loader.addEventListener( Event.COMPLETE, onCompleteLoad );
                loader.load( new URLRequest( url ) );
           }
        private function onCompleteLoad( e:Event ):void {
          var loader:URLLoader = e.target as URLLoader;
          var decoder:BMPDecoder = new BMPDecoder();
          //将二进制数据转换成BitmapData
          var bd:BitmapData = decoder.decode( loader.data );
          //用来显示效果的Bitmap获取位图数据,图片平滑
          var myBitmap:Bitmap = new Bitmap(bd,"auto",true);
          myImage.source=myBitmap;
        }
        ]]>
    </mx:Script> 

    <mx:Button
        id="showImage" 
        label="showimage" 
        click="showimage();"/>
        
    <mx:Image id="myImage" />        
</mx:Application>

posted on 2011-01-25 11:29  jsbrml  阅读(1921)  评论(0编辑  收藏  举报

导航