java thumbnails 内存_Java图片处理 Thumbnails框架

本文介绍了如何使用Java的Thumbnailator库来处理图片,包括设置图片缩放比例和质量。首先,引入thumbnailator的Maven依赖,然后创建Builder对象,通过scale()、size()和outputQuality()方法调整图片大小和质量。此外,还展示了如何获取图片的宽高信息,用于判断和处理图片压缩。
摘要由CSDN通过智能技术生成

一、设置图片的缩放比例或者图片的质量比

第一步:导入maven的jar包

net.coobird

thumbnailator

0.4.8

第二步:获取一个Builder对象

public static Builder of(String... files)

{

checkForNull(files, "Cannot specify null for input files.");

checkForEmpty(files, "Cannot specify an empty array for input files.");

return Builder.ofStrings(Arrays.asList(files));

}

......

第三步:设置图片缩放比例

通过Builder对象的scale(double scale)方法

通过Builder对象的size(int width, int height)方法

通过Builder对象的height(int height)或width(int width)方法

第四步:设置图片质量比

通过Builder对象的outputQuality(double quality)

二、获取图片的信息

第一步:通过Thumbnails.Builder的asBufferedImage()方法获取BufferedImage对象,把照片加载到内存中

第二步:

通过BufferedImage对象的getHeight(null)获取图片的高度

通过BufferedImage对象的getWidth(null)获取图片的宽度

小示例:

public static boolean ThumbnailsCompressPic(String inputFile, String outputFile, int size, float quality) {

File input = new File(inputFile);

try {

Thumbnails.Builder fileBuilder = Thumbnails.of(input).scale(1.0).outputQuality(1.0);

BufferedImage src = fileBuilder.asBufferedImage();

if(src.getHeight(null) > size || src.getWidth(null) > size) {

Thumbnails.Builder builder = Thumbnails.of(input);

builder.size(size, size); //取最大的尺寸变成size,然后等比缩放

builder.outputQuality(quality).toFile(outputFile);

} else {

Thumbnails.of(input).scale(1.0).outputQuality(quality).toFile(outputFile);

}

return true;

} catch (IOException e) {

logger.error(e.getMessage(), e);

}

return false;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值