Java 动态图片压缩
2024-10-07 05:46:19
今天收到领导的一个任务,说是图片太大导致服务器那边无法解析,要求图片大小大于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;
}
}
最新文章
- 编译安装PHP的参数 --with-mysql --with-mysqli --with-apxs2默认路径
- svchost占用cpu
- Java 后台获取当前时间
- fragment 切换
- HDU-4747 Mex(线段树区间更新)
- 主要从架构上来做优化,负载均衡、CDN、静态化、数据库的水平切割和纵向切割、读写分离、分布式缓存着手
- js获取location.href的参数实例代码
- Google考虑抛弃Cookies机制
- chroot 命令实例讲解
- Apache + Tomcat + mod_jk实现集群服务及session共享
- hdu 1026 Ignatius and the Princess I【优先队列+BFS】
- [C++]引用浅析
- webstorm比dreamweaver强大的地方 转
- NanUI文档 - 使用网页来设计整个窗口
- 转:[kipmi0]进程导致系统负载高
- windows cannot find powershell.exe windows 7
- 使用link rel=";shortcut icon";为网页标题加图标
- R语言|数据特征分析
- 019 mapreduce的核心--shuffle理解,以及在shuffle中的优化
- Java Selenium - 元素定位(一)
热门文章
- 最菜的小鸟(mkdir -pv)
- linux下网卡bonding配置(转)
- LVS群集配置
- (12网络化部署深化下)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
- C# 反射小结
- Sublime Text3--安装使用教程资料整理
- 总结: 在fc23中, 安装音频mp3 视频flv 的播放插件其实很简单, 只要一步就可以了: dnf install gstreamer1-libav
- P3979 遥远的国度
- (转)mblog解读(二)
- List of 3rd Party .NET UI &; Reporting Components