java GIF拆分和压缩处理

一、依赖包:

<dependency>
    <groupId>net.coobird</groupId>
    <artifactId>thumbnailator</artifactId>
    <version>0.4.8</version>
</dependency>
<dependency>
    <groupId>com.madgag</groupId>
    <artifactId>animated-gif-lib</artifactId>
    <version>1.2</version>
</dependency>

二、代码示例

package com.fig;

import com.madgag.gif.fmsware.AnimatedGifEncoder;
import com.madgag.gif.fmsware.GifDecoder;
import net.coobird.thumbnailator.Thumbnails;

import javax.imageio.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.io.*;
import java.util.Iterator;

public class CommonTest {

    public static void main(String[] args)  {
        String imgPath = "C:\\Users\\xxy\\Desktop\\图片\\微信图片_20200612095928.gif";
        File source = new File(imgPath);
        System.out.println(source.getAbsolutePath());
        System.out.println(source.getName());
        String newFilePath = "C:\\Users\\xxy\\Desktop\\图片\\new\\"+source.getName();

//
        try {
            zoomGifByQuality(imgPath,"gif",0.1F,newFilePath);
            //zoomGifBySize(imgPath,"gif",76,123,newFilePath);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }


    public static byte[] zoomImg(){
        String imgPath = "C:\\Users\\xxy\\Desktop\\图片\\8506f48e8d8fedbd8b972184992940be.jpg";
        File source = new File(imgPath);
        System.out.println("source file size====>"+getPrintSize(source.length()));
        System.out.println(source.getAbsolutePath());
        System.out.println(source.getName());
        String newFilePath = "C:\\Users\\xxy\\Desktop\\图片\\new\\"+source.getName();
        try {
            Thumbnails.of(source).scale(1f).outputQuality(0.3f).toFile(newFilePath);
        } catch (IOException e) {
            e.printStackTrace();
        }
        File newFile = new File(newFilePath);
        System.out.println("new file size====>"+getPrintSize(newFile.length()));
        //将file转换成BufferedImage
        //BufferedImage bimg &#
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值