美文网首页
图片压缩工具类

图片压缩工具类

作者: 小石读史 | 来源:发表于2023-05-30 11:23 被阅读0次

    案例代码

    import lombok.extern.slf4j.Slf4j;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.*;
    
    
    @Slf4j
    public class ImgUtils {
    
    
    
    
        public static void main(String[] args) throws IOException {
            File file = new File("F:\\测试图片\\3.jpg");
            String fileName = file.getName();
            FileInputStream fileInputStream = new FileInputStream(file);
            byte[] imageCom = getImageCom(fileInputStream);
            FileOutputStream fileOutputStream = new FileOutputStream("F:\\测试图片\\new\\" + fileName);
            fileOutputStream.write(imageCom);
            fileOutputStream.flush();
            fileOutputStream.close();
        }
    
    
    
        public static byte[] getImageCom(InputStream inputStream) throws IOException {
            try {
                // 把图片读入到内存中
                BufferedImage bufImg = ImageIO.read(inputStream);
                // 压缩代码,存储图片文件byte数组
                ByteArrayOutputStream bos = new ByteArrayOutputStream();
                //防止图片变红,这一步非常重要
                BufferedImage bufferedImage = new BufferedImage(bufImg.getWidth(), bufImg.getHeight(), BufferedImage.TYPE_INT_RGB);
                bufferedImage.createGraphics().drawImage(bufImg,0,0, Color.WHITE,null);
                //先转成jpg格式来压缩,然后在通过OSS来修改成源文件本来的后缀格式
                ImageIO.write(bufferedImage,"jpg", bos);
                return bos.toByteArray();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                inputStream.close();
            }
            return null;
        }
    
    }
    

    相关文章

      网友评论

          本文标题:图片压缩工具类

          本文链接:https://www.haomeiwen.com/subject/zgosedtx.html