1、最直接的,直接赋值图片地图。 多用于控制 img组件
img1.source="assets/11.gif";
2、动态加载,多用于获取图片的data,然后进行处理。当然也可以显示到img组件里。
??????????????????? //显示图像(!!要求bitmap对象必须事先加载完,另外必须用sprite作为容器,shape做容器不行)。
?? ??? ??? ??? ???? if(_bmpdata!=null)? //图片事先加载完毕再绘制图片。
?? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ?var s:Bitmap=new Bitmap(_bmpdata);? //img.bitmapData? _bmpdata
?? ??? ??? ??? ??? ??? ?var spr:Sprite=new Sprite();
?? ??? ??? ??? ??? ??? ?spr.addChild(s);
?? ??? ??? ??? ??? ??? ?spr.x=x;
?? ??? ??? ??? ??? ??? ?spr.y=y;
?? ??? ??? ??? ??? ??? ?this.addChild(spr);
?? ??? ??? ??? ??? ?}
?? ??? ????
?? ??? ?? ? private static var _bmpdata:BitmapData;
?? ??? ??? ?private static var loader:Loader;
?? ??? ??? ?private static var loaderUrl:String = "assets/1_24x24.png";
?? ??? ???? //!!加载图片是异步完成的,所以要画图像,要事先获取图像内容。获取成功之后才能进行画图。
?? ??? ??? ?private function loadpic():void
?? ??? ??? ?{
?? ??? ??? ??? ?if(_bmpdata==null)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?loader = new Loader();//加载图片
?? ??? ??? ??? ??? ?loader.load(new URLRequest("assets/2_24x24.png"));
?? ??? ??? ??? ??? ?loader.contentLoaderInfo.addEventListener(Event.COMPLETE,hadler_loadpic_complete);
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?private function hadler_loadpic_complete(event:Event):void
?? ??? ??? ?{
?? ??? ??? ??? ?var width:Number = loader.content.width;
?? ??? ??? ??? ?var height:Number = loader.content.height;
?? ??? ??? ??? ?_bmpdata=Bitmap(loader.content).bitmapData;?? ?
?? ??? ??? ??? ?img_p1.source=_bmpdata;? //直接赋bmpdata即可? 测试bmpdata是否有效果用。
?? ??? ??? ?}
??????????? //!!loader的content就是bitmap对象,而不是bitmapdata对象
?? ??? ???? var ss:Bitmap=imgloader.content as Bitmap;??
?? ??? ??? ?FlexGlobals.topLevelApplication.ofm_main.img2.source=ss;
3、不常用的。
[Embed(source="assets/bb.gif")]? //改变image图片声明。内置图片。
??????????? private var flag:Class;
//改变image的图片.内置图片。
??????????????? var asset:BitmapAsset = new flag() as BitmapAsset;
??????????????? img1.source = asset;
不过由于第2种方法要是加载大量图片,代码过大,此时第3种方法更简洁,动态使用bmpdata如下:
[Embed(source="/assets/1_24x24.png")] private staticvar _image:Class;
private static var _bmpdata:BitmapData;
......
?? ??? ??? ??? ???? _bmpdata=(new _image() as Bitmap).bitmapData;???????? //已验证,可以出图。 ?? ??? ??? ??? ??? ?if(_bmpdata!=null)? //图片事先加载完毕再绘制图片。 ?? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ?var s:Bitmap=new Bitmap(_bmpdata);? //img.bitmapData? _bmpdata ?? ??? ??? ??? ??? ??? ?var spr:Sprite=new Sprite(); ?? ??? ??? ??? ??? ??? ?spr.addChild(s); ?? ??? ??? ??? ??? ??? ?spr.x=x; ?? ??? ??? ??? ??? ??? ?spr.y=y; ?? ??? ??? ??? ??? ??? ?this.addChild(spr); ?? ??? ??? ??? ??? ?}