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>

你可能感兴趣的:(xml,Flex,Adobe)