FLEX播放GIF图片

来源:互联网 发布:美国网络电视直播 编辑:程序博客网 时间:2024/06/02 15:58

Flex直接加载gif格式的图片到IMAGE中不会显示动画效果。

在网上找到一个类库,能实现在Flex的Image中加载GIF图片并且动起来

代码:

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute" horizontalAlign="center"
    creationComplete="init();"
    backgroundColor="0x414141" > 
    <mx:Script>
        <![CDATA[
        import flash.net.URLRequest;
        import org.bytearray.gif.player.GIFPlayer;
        import org.bytearray.gif.events.FileTypeEvent;
        import org.bytearray.gif.events.GIFPlayerEvent;
        import org.bytearray.gif.events.FrameEvent;
        import org.bytearray.gif.events.TimeoutEvent;
        private var _myGIFPlayer:GIFPlayer = new GIFPlayer();
        private var _totalFrame:Number;
        //private var _currentFrame:Number;
       
        private function init():void
        {
            var request:URLRequest = new URLRequest("md.gif");
            _myGIFPlayer.load(request);
            img.addChild(_myGIFPlayer);
            _myGIFPlayer.addEventListener(GIFPlayerEvent.COMPLETE, onCompleteGIF);
            _myGIFPlayer.addEventListener(FrameEvent.FRAME_RENDERED, onFrameRendered);
        }
       
        private function onCompleteGIF(event:GIFPlayerEvent):void
        {
            _totalFrame = _myGIFPlayer.totalFrames;
            totalframe.text = String(_totalFrame);
        }
       
        private function onFrameRendered(event:FrameEvent):void
        {
            currentframe.text = String(_myGIFPlayer.currentFrame);
        }
       
        private function onTimeOut(event:TimeoutEvent):void
        {
            trace ("gif is error!");
        }
       
        private function play():void
        {
            _myGIFPlayer.play();
        }
       
        private function stop():void
        {
            _myGIFPlayer.stop();
        }
        ]]>
    </mx:Script>
   
    <mx:Image id="img" width="217" height="300" top="30" left="240"/>
    <mx:ApplicationControlBar width="80%" left="50" bottom="20" >
        <mx:Button label="Play" height="22" click="play();" styleName="primaryButton" />
        <mx:Button label="Stop" height="22" click="stop();" />
        <mx:Label text="TotalFrame:" />
        <mx:Label id="totalframe" />
        <mx:Label text="CurrentFrame:" />
        <mx:Label id="currentframe" />
    </mx:ApplicationControlBar>
 
</mx:Application>

 

源码下载地址:http://download.csdn.net/source/2650350

原创粉丝点击