首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

FLEX中展示类型为BMP的图片

2012-10-26 
FLEX中显示类型为BMP的图片FLEX的Image控件是不能直接显示BMP图片的,要进过一些简单而又复杂的处理首先需

FLEX中显示类型为BMP的图片

FLEX的Image控件是不能直接显示BMP图片的,要进过一些简单而又复杂的处理

首先需要写一个类BMPDecode.as(附件中已上传)

使用方法如下(红色字体为主要代码)

<?xml version="1.0" encoding="utf-8"?><mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"width="400" height="300"borderStyle="none"><mx:Script><![CDATA[import mx.controls.Alert;import mx.effects.Zoom;import mx.core.UIComponent;import mx.core.BitmapAsset;[Bindable]public var imageSource:String="assets/uploadImage/default.jpg";//var request:URLRequest = new URLRequest("/westGameBackend/showImageController.htm?flag=animal&targetID=86");//var load:URLLoader=new URLLoader(request);//[Bindable]public var imageSource:String="/westGameBackend/showImageController.htm?flag=animal&targetID=86";private function changeBig():void{var zoom:Zoom=new Zoom();zoom.target=this;//X坐标放大倍数     zoom.zoomWidthTo = 2 ;     //Y坐标放大倍数     zoom.zoomHeightTo =2 ;          zoom.play();}public function into(url:String):void{url=encodeURI(url);var loader:URLLoader = new URLLoader();    //指定loader以二进制返回数据loader.dataFormat = URLLoaderDataFormat.BINARY;loader.addEventListener( Event.COMPLETE, onCompleteLoad );loader.load( new URLRequest( url ) );}public function onCompleteLoad( e:Event ):void {   var loader:URLLoader = e.target as URLLoader;   var decoder:BMPDecode = new BMPDecode();   //将二进制数据转换成BitmapData   var bd:BitmapData = decoder.decode( loader.data );   //用来显示效果的Bitmap获取位图数据,图片平滑   var myBitmap:Bitmap = new Bitmap(bd,"auto",true);   theImage.source=myBitmap;}private function imageIO():void{this.dispatchEvent(new Event("imageIO"));}]]></mx:Script><mx:Image width="100%" height="100%" id="theImage" source="{encodeURI(imageSource)}" ioError="imageIO();" horizontalAlign="center" verticalAlign="middle" toolTip="点击放大" click="changeBig();"/></mx:Canvas>
?

热点排行