AS3的GIF播放器及Encoder
admin 2013-07-11 10:00:20
AS3GIF 让flash可以播放GIF动画文件,以及用ActionScript 3实现GIF编码的功能.
- 介绍
- as3gif下载地址(Google Code)
收藏与此,查询方便。
播放功能:
用AS3GIF的类文件,可以通过load一个URLRequest或者load一个ByteArray来加载gif。
范例:
- package
- {
- import flash.display.Sprite;
- import flash.net.URLRequest;
- import org.gif.player.GIFPlayer;
-
- public class Main extends Sprite
- {
- public function Main():void
- {
- var request:URLRequest = new URLRequest("diego.gif");
-
- var player:GIFPlayer = new GIFPlayer();
- player.load(request);
-
- addChild(player);
- }
- }
- }
编码功能:
范例:
- package
- {
- import flash.display.BitmapData;
- import flash.display.Shape;
- import flash.display.Sprite;
- import flash.utils.ByteArray;
- import org.gif.encoder.GIFEncoder;
- import org.gif.player.GIFPlayer;
-
- public class Main extends Sprite
- {
- public function Main():void
- {
- var frames:Array = createFrames();
-
- var encoder:GIFEncoder = new GIFEncoder();
-
- encoder.setRepeat(0); //AUTO LOOP
- encoder.setDelay(500);
-
- encoder.start(); //MUST HAVE!
-
- encoder.addFrame(frames[0]);
- encoder.addFrame(frames[1]);
-
- encoder.finish(); //MUST HAVE!
-
- playGIF(encoder.stream);
- }
-
- private function playGIF(data:ByteArray):void
- {
- data.position = 0;
-
- var player:GIFPlayer = new GIFPlayer();
- player.loadBytes(data);
-
- addChild(player);
- }
-
- private function createFrames():Array
- {
- var shape:Shape = new Shape();
- shape.graphics.lineStyle(1, 0);
-
- shape.graphics.moveTo(60, 0);
- shape.graphics.lineTo(60, 120);
-
- var frame1:BitmapData = new BitmapData(120, 120);
- frame1.draw(shape);
-
- shape.graphics.clear();
-
- shape.graphics.lineStyle(1, 0);
- shape.graphics.moveTo(0, 60);
- shape.graphics.lineTo(120, 60);
-
- var frame2:BitmapData = new BitmapData(120, 120);
- frame2.draw(shape);
-
- return [frame1, frame2];
- }
- }
- }
IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。