java 压缩图片,所略图

图片压缩与原始尺寸保存
本文介绍了如何使用Java实现图片的压缩及保持原始尺寸的方法。包括读取上传的图片文件,调整图片尺寸进行压缩,并按指定质量保存。同时提供保持图片原始尺寸并保存的功能。
public void compressImage(FormFile formFile, String path, String _fileName) { 
try {
Image src = javax.imageio.ImageIO.read(formFile.getInputStream()); // construct the Image Object
int width=src.getWidth(null); // get the width
int height=src.getHeight(null); // get the height

// Compress Image
BufferedImage tag = new BufferedImage(width/2,height/2,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,width/2,height/2,null); // draw the small image
FileOutputStream out=new FileOutputStream(path + _fileName);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam encoder_param = encoder.getDefaultJPEGEncodeParam(tag);
encoder_param.setQuality(Constants.IMAGE_COMPRESS_RATE,false); // Image compress rate
encoder.setJPEGEncodeParam(encoder_param);
encoder.encode(tag);
out.close();
return true;
} catch(Exception e) {
Logger.getLogger(this.getClass().getName()).error(e.getMessage(), e);
return false;
}
}

public void primaryImage(FormFile formFile, String path, String _fileName){
try {
Image src = javax.imageio.ImageIO.read(formFile.getInputStream()); // construct the Image Object
int width=src.getWidth(null); // get the width
int height=src.getHeight(null); // get the height

// Primary Image
BufferedImage _primaryTag = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
_primaryTag.getGraphics().drawImage(src,0,0,width,height,null);
FileOutputStream _primaryOut=new FileOutputStream(path + _fileName);
JPEGImageEncoder _primaryEncoder = JPEGCodec.createJPEGEncoder(_primaryOut);
_primaryEncoder.encode(_primaryTag);
_primaryOut.close();
return true;
} catch(Exception e) {
Logger.getLogger(this.getClass().getName()).error(e.getMessage(), e);
return false;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值