序
这里展示一下如何对图片进行压缩和resize。分享给大家,具体如下:
压缩
java" id="highlighter_916062">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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 ;
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://segmentfault.com/a/1190000010408176