FLEXにはBMPタイプの画像が表示されます.
FLEXのImageコントロールはBMPイメージを直接に表示することができません.簡単で複雑な処理が必要です.
まず、BMPDecode.as(添付ファイルにアップロードされています)を書く必要があります.
使用方法は以下の通りです.赤いフォントは主要コードです.
まず、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>