1、我这里使用的是Thumbnailator,一个google使用的开源的工具类。
2、在github上面的地址是:https://github.com/coobird/thumbnailator
maven的地址
<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency>
3、我的应用场景是要将一个图片的字节数组进行压缩,并且返回字节数组,如果是图片文件的压缩可以参考如下帖子https://www.cnblogs.com/linkstar/p/7412012.html
4、java代码示例:
public static void main(String[] args) { byte[] bs = null; try { bs = HttpCaller.get( "https://www.baidu.com/img/baidu_jgylogo3.gif", null); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } ByteArrayInputStream intputStream = new ByteArrayInputStream(bs); Builder<? extends InputStream> builder = Thumbnails.of(intputStream).size(20, 30); try { BufferedImage bufferedImage = builder.asBufferedImage(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(bufferedImage, "png", baos); byte[] byteArray = baos.toByteArray(); System.out.println(Base64Utils.encodeToString(byteArray)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }