欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AS3的GIF播放器及Encoder

程序员文章站 2022-05-24 19:31:34
AS3GIF 让flash可以播放GIF动画文件,以及用ActionScript 3实现GIF编码的功能.... 13-07-08...

as3gif 让flash可以播放gif动画文件,以及用actionscript 3实现gif编码的功能.

收藏与此,查询方便。

播放功能:
用as3gif的类文件,可以通过load一个urlrequest或者load一个bytearray来加载gif。
范例:

  1. package 
  2. {
  3.         import flash.display.sprite;
  4.         import flash.net.urlrequest;
  5.         import org.gif.player.gifplayer;
  6.        
  7.         public class main extends sprite
  8.         {
  9.                 public function main():void
  10.                 {
  11.                         var request:urlrequest = new urlrequest("diego.gif");
  12.                        
  13.                         var player:gifplayer = new gifplayer();
  14.                         player.load(request);
  15.                        
  16.                         addchild(player);
  17.                 }
  18.         }
  19. }

编码功能:
范例:

  1. package 
  2. {
  3.         import flash.display.bitmapdata;
  4.         import flash.display.shape;
  5.         import flash.display.sprite;
  6.         import flash.utils.bytearray;
  7.         import org.gif.encoder.gifencoder;
  8.         import org.gif.player.gifplayer;
  9.        
  10.         public class main extends sprite
  11.         {
  12.                 public function main():void
  13.                 {
  14.                         var frames:array = createframes();
  15.                        
  16.                         var encoder:gifencoder = new gifencoder();
  17.                        
  18.                         encoder.setrepeat(0);                   //auto loop
  19.                         encoder.setdelay(500);
  20.                        
  21.                         encoder.start();                        //must have!
  22.                        
  23.                         encoder.addframe(frames[0]);
  24.                         encoder.addframe(frames[1]);
  25.                        
  26.                         encoder.finish();                       //must have!
  27.                        
  28.                         playgif(encoder.stream);
  29.                 }
  30.                
  31.                 private function playgif(data:bytearray):void
  32.                 {
  33.                         data.position = 0;
  34.                        
  35.                         var player:gifplayer = new gifplayer();
  36.                         player.loadbytes(data);
  37.                        
  38.                         addchild(player);
  39.                 }
  40.                
  41.                 private function createframes()