您的位置:首页 > 编程语言 > Java开发

java对图片进行压缩和resize

2017-07-29 00:00 204 查看

这里展示一下如何对图片进行压缩和resize。

压缩

public static boolean compress(String src,String to, float quality) {
boolean rs = true;

// Build param
JPEGEncodeParam param = null;

// Build encoder
File destination = new File(to);
FileOutputStream os = null;
try {
BufferedImage image = ImageIO.read(new File(src));
param = JPEGCodec.getDefaultJPEGEncodeParam(image);
param.setQuality(quality, false);

os = FileUtils.openOutputStream(destination);
JPEGImageEncoder encoder;
if (param != null) {
encoder = JPEGCodec.createJPEGEncoder(os, param);
} else {
return false;
}
encoder.encode(image);
} catch(Exception e){
e.printStackTrace();
rs = false;
}finally {
IOUtils.closeQuietly(os);
}
return rs;
}

resize

public static boolean resize(String src,String to,int newWidth,int newHeight) {
try {
File srcFile = new File(src);
File toFile = new File(to);
BufferedImage img = ImageIO.read(srcFile);
int w = img.getWidth();
int h = img.getHeight();
BufferedImage dimg  = new BufferedImage(newWidth, newHeight, img.getType());
Graphics2D g = dimg.createGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(img, 0, 0, newWidth, newHeight, 0, 0, w, h, null);
g.dispose();
ImageIO.write(dimg, "jpg", toFile);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java