序
这里展示一下如何对图片进行压缩和resize。分享给大家,具体如下:
压缩
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