[Java]图片压缩

本文介绍了Java中两种内置的图片压缩方法:使用`Image.getScaledInstance`调整尺寸,以及通过`ImageWriteParam.setCompressionQuality`设置压缩质量。通过结合这两种方法,可以在不显著影响图像质量的同时,有效地减小图片的大小。文中提供了具体的压缩实例及压缩前后对比数据。
摘要由CSDN通过智能技术生成

Java中内置的压缩图片有两种方式:

  1. 通过Image的getScaledInstance方法将图片尺寸进行压缩,它的压缩策略有:
    SCALE_DEFAULT 默认图像缩放算法
    SCALE_FAST 缩放速度优先
    SCALE_SMOOTH 图像平滑度优先
    它的优点是可以在尽量不影响图像质量的情况下对图片进行一定的压缩,缺点是压缩的效果有局限性.
  2. 使用ImageWriteParam的setCompressionQuality方法设置ImageWrite输出图片时生成的图片质量,它的优点是可以在不改变图片尺寸的情况下将图片的大小压缩,并且压缩效率比较高.

以下代码是将两者一起使用,达到同时控制压缩图片尺寸和大小的功能.

package test;

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.util.Iterator;

import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageTypeSpecifier;
import jav
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值