1.引入所需要的依赖jar包。
<!-- gif -->
<dependency>
<groupId>com.madgag</groupId>
<artifactId>animated-gif-lib</artifactId>
<version>1.4</version>
</dependency>
2.代码
package cn.com.yuanquanyun.utils;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.madgag.gif.fmsware.AnimatedGifEncoder;
public class GifDemo {
// 存放jpg文件目录
private static final String inpath = "C:\\Users\\用户名\\Desktop\\动态图\\";
private static final String outpath = "C:\\Users\\用户名\\Desktop\\动态图\\";
public static void main(String[] args) {
try {
AnimatedGifEncoder e = new AnimatedGifEncoder();
e.setRepeat(0);
e.start(outpath + "screenshot.gif");
//获取目录下所有jpg及其他非gif图片文件
String[] pic = new File(inpath).list();
BufferedImage[] src = new BufferedImage[pic.length];
for (int i = 0; i < src.length; i++) {
e.setDelay(500); //设置播放间隔
src[i] = ImageIO.read(new File(inpath+pic[i])); // 读入需要播放的jpg文件
e.addFrame(src[i]); //添加到帧中
}
e.finish();
} catch (IOException ex) {
System.err.println("合成gif图失败");
}
}
}
这里的.list();做下说明,获取inpath路径下的所有文件的文件名集合
这里用的png格式来做演示:
准备两个图片放到C:\\Users\\用户名\\Desktop\\动态图 目录下:
运行上面代码中的main方法,会在动态图目录下生成gif格式动态图、
生成效果如下: