浏览 3854 次
锁定老帖子 主题:Flex图片处理问题 抛砖引玉!
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-17
最后修改:2009-11-27
问题如下: 图片为 我想要取出其中的一个图标! css 当中可以这样做 .panel{ background: transparent url('images/frame1.png') no-repeat 0px -25px; } 但Flex似乎好像不可以,找了好久,也没找到解决方案! 这个方案想了好久才出来,但不知道好不好,效率怎样! 没办法,刚来flex。菜鸟一个! <?xml version="1.0" encoding="utf-8"?> <mx:Image xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <![CDATA[ public var loaded:Loader; [Bindable] public var imageURL:String; [Bindable] public var mywidth:Number=0; [Bindable] public var myheight:Number=0; [Bindable] public var myLeft:Number=0; [Bindable] public var myTop:Number=0; [Bindable] public var overLeft:Number=0; [Bindable] public var overTop:Number=0; private var bit:Bitmap; private var bmd1:BitmapData; private var bmd2:BitmapData; private var pt:Point; private var rect:Rectangle; public function init():void { loaded=new Loader(); loaded.load(new URLRequest(imageURL)); loaded.contentLoaderInfo.addEventListener(Event.COMPLETE,onload); if(overLeft>0 || overTop>0){ this.addEventListener(MouseEvent.MOUSE_OVER,onover); this.addEventListener(MouseEvent.MOUSE_OUT,onout); } } public function onload(event:Event):void{ bit=Bitmap(loaded.content); bmd1=bit.bitmapData; bmd2=new BitmapData(mywidth, myheight, true); rect=new Rectangle(myLeft, myTop, mywidth,myheight); pt=new Point(0, 0); bmd2.copyPixels(bmd1, rect, pt); var bm2:Bitmap=new Bitmap(bmd2); bm2.smoothing=true; this.addChild(bm2); } public function onover(event:MouseEvent):void{ rect=new Rectangle(overLeft, overTop, mywidth,myheight); pt=new Point(0, 0); bmd2.copyPixels(bmd1, rect, pt); var bm2:Bitmap=new Bitmap(bmd2); bm2.smoothing=true; this.addChild(bm2); } public function onout(event:MouseEvent):void{ rect=new Rectangle(myLeft, myTop, mywidth,myheight); pt=new Point(0, 0); bmd2.copyPixels(bmd1, rect, pt); var bm2:Bitmap=new Bitmap(bmd2); bm2.smoothing=true; this.addChild(bm2); } ]]> </mx:Script> </mx:Image> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:components="components.*" creationComplete="init()"> <components:image overTop="118" buttonMode="true" myLeft="0" myTop="10" mywidth="54" myheight="50" imageURL="assets/ico/start_button.png"/> </mx:Application> 请大家看看,看有没更好的方案! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-11-18
flex也有css式样,你这么做有点拿大炮轰蚊子
|
|
返回顶楼 | |
发表时间:2009-11-18
最后修改:2009-11-18
foodyi 写道 flex也有css式样,你这么做有点拿大炮轰蚊子
但是,好像,没有类似于取图片中的某一部分用来显示的啊! |
|
返回顶楼 | |