今天收到领导的一个任务,说是图片太大导致服务器那边无法解析,要求图片大小大于102*126就压缩大小为102*126.同时文件是以Base64字符串的形式传过来的。具体压缩方法如下:

/**
* 图片大于102*126就调整为102*126
* @param base64String
* @return
* @throws IOException
*/
private String changePicSize(String base64String) throws IOException {
byte[] bs = Base64.getDecoder().decode(base64String);
InputStream input = new ByteArrayInputStream(bs);
Image bi = ImageIO.read(input); if (bi.getWidth(null) > 102 || bi.getHeight(null) > 126) {
System.out.print("压缩\t");
BufferedImage tag = new BufferedImage(102, 126, BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(bi, 0, 0, 102, 126, null); ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(tag, "PNG", out);
byte[] byt = out.toByteArray(); out.close();
bi.flush();
input.close();
return Base64.getEncoder().encodeToString(byt);
}else{
System.out.print("不压缩\t");
bi.flush();
input.close();
return base64String;
}
}

最新文章

  1. 编译安装PHP的参数 --with-mysql --with-mysqli --with-apxs2默认路径
  2. svchost占用cpu
  3. Java 后台获取当前时间
  4. fragment 切换
  5. HDU-4747 Mex(线段树区间更新)
  6. 主要从架构上来做优化,负载均衡、CDN、静态化、数据库的水平切割和纵向切割、读写分离、分布式缓存着手
  7. js获取location.href的参数实例代码
  8. Google考虑抛弃Cookies机制
  9. chroot 命令实例讲解
  10. Apache + Tomcat + mod_jk实现集群服务及session共享
  11. hdu 1026 Ignatius and the Princess I【优先队列+BFS】
  12. [C++]引用浅析
  13. webstorm比dreamweaver强大的地方 转
  14. NanUI文档 - 使用网页来设计整个窗口
  15. 转:[kipmi0]进程导致系统负载高
  16. windows cannot find powershell.exe windows 7
  17. 使用link rel="shortcut icon"为网页标题加图标
  18. R语言|数据特征分析
  19. 019 mapreduce的核心--shuffle理解,以及在shuffle中的优化
  20. Java Selenium - 元素定位(一)

热门文章

  1. 最菜的小鸟(mkdir -pv)
  2. linux下网卡bonding配置(转)
  3. LVS群集配置
  4. (12网络化部署深化下)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
  5. C# 反射小结
  6. Sublime Text3--安装使用教程资料整理
  7. 总结: 在fc23中, 安装音频mp3 视频flv 的播放插件其实很简单, 只要一步就可以了: dnf install gstreamer1-libav
  8. P3979 遥远的国度
  9. (转)mblog解读(二)
  10. List of 3rd Party .NET UI & Reporting Components