图形图像

*.*

JGIF

  JGIF 是一个 Java 编写的 GIF 文件编码器。除可以方便地把 BufferedImage 编码成 GIF 文件外,还具有高性能的 24 位色到 256 色的转化功能。

  使用极其简便:

  生成静态 GIF:

import java.io.*;
import javax.imageio.*;

public class TestImage
{
  public static void main(String[] args) throws Exception
  {
    try{
      net.jgif.GIFImage image =
        new net.jgif.GIFImage(ImageIO.read(new File("1.jpg")));
      image.setCommentExtension("bout.toString()");//加入注解扩展
      /*
      指定版本号,如果指定为 GIF87A,则注解扩展及透明色实效。
      默认为 GIF89A。
      */
      //image.setVersion(net.jgif.GIFImage.GIF87A);
      /*
      指定其透明色,也可不指定。
      无论是否指定,在 BufferedImage 中为透明色的颜色一律透明。
      如果指定了透明色,则该颜色也将透明。
      */
      //image.setTransparenceColor(java.awt.Color.BLACK);
      //image.isInterlace = true;//指定是否进行交错处理(默认为false)。
      image.save(new FileOutputStream("test.gif"));
    }catch(Exception e){
      e.printStackTrace();
    }
  }
}
				

  生成动画:

import java.io.*;
import javax.imageio.*;

public class TestAnimator
{
  public static void main(String[] args) throws Exception
  {
    try{
      net.jgif.GIFAnimator image = new net.jgif.GIFAnimator();
      //设置循环次数,0 为无限循环,大于 0 为指定次数,默认为 0。
      image.setLoopCount(1);
      image.setCommentExtension("setCommentExtension");//加入注解说明扩展。
      //直接加入帧。
      image.addFrame(ImageIO.read(new File("1.jpg")));
      //以指定的时间加入帧。
      image.addFrame(ImageIO.read(new File("2.jpg")), 1000);
      //以可定义的帧的形式加入帧。
      net.jgif.GIFFrame frame = 
        new net.jgif.GIFFrame(ImageIO.read(new File("2.jpg")));
      //指定显示方案,默认为 DM_LEAVE。
      //frame.setDisposalMethod(net.jgif.GIFFrame.DM_BGCOLOR);
      //设置该帧的显示时间,单位为毫秒,如果不指定则为默认值 500,即 0.5 秒。
      frame.setDelayTime(1000);
      //指定frame在整幅图片中的位置。
      //frame.imageLeft = 10;
      //frame.imageTop = 10;
      /*
      指定其透明色,也可不指定。
      无论是否指定,在 BufferedImage 中为透明色的颜色一律透明。
      如果指定了透明色,则该颜色也将透明。
      */
      //frame.setTransparenceColor(java.awt.Color.BLACK);
      image.addFrame(frame);
      image.save(new FileOutputStream("test.gif"));
    }catch(Exception e){
      e.printStackTrace();
    }
  }
}
				

下载 联系作者

posted on 2005-10-09 06:59 Graphics 阅读(5047) 评论(1)  编辑 收藏 引用

评论

# re: JGIF 2005-10-09 12:22 dudu

建议去www.blogjava.net注册, 这里专注于C++技术。  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2005年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿(1)

随笔档案

搜索

最新评论

  • 1. re: JGIF
  • 建议去www.blogjava.net注册, 这里专注于C++技术。
  • --dudu