Java中将图片转为GIF(实用)

Java中将图片转为GIF

这里用到了2位大佬写的编码类 AnimateGifEncoder、GifSequenceWriter。

转换效果

请查看github中的详细演示 ->
    原图 结果图

使用演示

请直接查看github中的演示 ->
    AnimateGifEncoder 简单演示,详细演示请参考具体代码: final BufferedImage img1 = ImageIO.read(new ByteArrayInputStream(pngByte1)); final BufferedImage img2 = ImageIO.read(new ByteArrayInputStream(pngByte2)); final BufferedImage img3 = ImageIO.read(new ByteArrayInputStream(pngByte3)); try ( final FileOutputStream outputStream = new FileOutputStream(new File("result_02.gif")) ) { final AnimatedGifEncoder encoder = new AnimatedGifEncoder(); encoder.setRepeat(0); encoder.start(outputStream); encoder.addFrame(img1); encoder.setDelay(500); encoder.addFrame(img2); encoder.setDelay(500); encoder.addFrame(img3); encoder.finish(); outputStream.flush(); } GifSequenceWriter 简单演示,详细演示请参考具体代码: final BufferedImage img1 = ImageIO.read(new ByteArrayInputStream(pngByte1)); final BufferedImage img2 = ImageIO.read(new ByteArrayInputStream(pngByte2)); final BufferedImage img3 = ImageIO.read(new ByteArrayInputStream(pngByte3)); try ( final FileImageOutputStream outputStream = new FileImageOutputStream(new File("result_01.gif")); final GifSequenceWriter writer = new GifSequenceWriter(outputStream, img1.getType(), 500, false) ) { writer.writeToSequence(img1); writer.writeToSequence(img2); writer.writeToSequence(img3); }
经验分享 程序员 微信小程序 职场和发展