java gif合成_java图片处理——多张图片合成一张Gif图片并播放或Gif拆分成多张图片...

1、多张jpg图合成gif动画

/*** 把多张jpg图片合成一张

*@parampic String[] 多个jpg文件名 包含路径

*@paramnewPic String 生成的gif文件名 包含路径*/

private synchronized voidjpgToGif(String pic[], String newPic) {try{

AnimatedGifEncoder e= new AnimatedGifEncoder();

e.setRepeat(0);

e.start(newPic);

BufferedImage src[]= newBufferedImage[pic.length];for (int i = 0; i < src.length; i++) {

e.setDelay(200); //设置播放的延迟时间

src[i] = ImageIO.read(new File(pic[i])); //读入需要播放的jpg文件

e.addFrame(src[i]); //添加到帧中

}

e.finish();

}catch(Exception e) {

System.out.println("jpgToGif Failed:");

e.printStackTrace();

}

}

2、gif动画分解成多张jpg

/*** 把gif图片按帧拆分成jpg图片

*@paramgifName String 小gif图片(路径+名称)

*@parampath String 生成小jpg图片的路径

*@returnString[] 返回生成小jpg图片的名称*/

private synchronizedString[] splitGif(String gifName,String path) {try{

GifDecoder decoder= newGifDecoder();

decoder.read(gifName);int n = decoder.getFrameCount(); //得到frame的个数

String[] subPic = newString[n];

String tag= this.getTag();for (int i = 0; i < n; i++) {

BufferedImage frame= decoder.getFrame(i); //得到帧//int delay = decoder.getDelay(i);//得到延迟时间//生成小的JPG文件

subPic[i] = path + String.value(i)+ ".jpg";

FileOutputStream out= newFileOutputStream(subPic[i]);

ImageIO.write(frame,"jpeg", out);

JPEGImageEnco

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值