直接上java图片压缩code:
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
public class ImageProcess {
/**
* 图片
*/
private Image img;
/**
* 宽度
*/
private int width;
/**
* 高度
*/
private int height;
/**
* 文件格式
*/
private String imageFormat;
/**
* 构造函数
* @throws Exception
*/
public ImageProcess(InputStream in,String fileName) throws Exception{
//构造Image对象
img = ImageIO.read(in);
//得到源图宽
width = img.getWidth(null);
//得到源图长
height = img.getHeight(null);
//文件格式
imageFormat = fileName.substring(fileName.lastIndexOf(".")+1);
}
/**
* 按照宽度还是高度进行压缩
* @param w int 最大宽度
* @param h int 最大高度
*/
public byte[] resizeFix(int w, int h) throws IOException {
if (width / height > w / h) {
return resizeByWidth(w);
} else {
return resizeByHeight(h);
}
}
/**
* 以宽度为基准,等比例放缩图片
* @param w int 新宽度
*/
public byte[] resizeByWidth(int w) throws IOException {
int h = (int) (height * w / width);
return resize(w, h);
}
/**
* 以高度为基准,等比例缩放图片
* @param h int 新高度
*/
public byte[] resizeByHeight(int h) throws IOException {
int w = (int) (width * h / height);
return resize(w, h);
}
/**
* 强制压缩/放大图片到固定的大小
* @param w int 新宽度
* @param h int 新高度
*/
public byte[] resize(int w, int h) throws IOException {
// SCALE_SMOOTH 的缩略算法 生成缩略图片的平滑度的 优先级比速度高 生成的图片质量比较好 但速度慢
BufferedImage image = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB );
image.getGraphics().drawImage(img, 0, 0, w, h, null); // 绘制缩小后的图
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, imageFormat, baos);
return baos.toByteArray();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java
# 图片压缩
# Java 实现图片压缩的两种方法
# java实现文件上传下载和图片压缩代码示例
# Java实现压缩图片大小
# Java 图片压缩实现思路及代码
# java实现上传图片并压缩图片大小功能
# java 压缩图片(只缩小体积
# 不更改图片尺寸)的示例
# java实现图片压缩的思路与代码
# Java中上传图片压缩处理的方法示例
# Java 中图片压缩处理的解决方案
# Java图片压缩三种高效压缩方案详细解析
# 等比例
# 比较好
# 速度慢
# 大家多多
# 缩图
# IOException
# ImageIO
# InputStream
相关文章:
如何正确选择百度移动适配建站域名?
如何选择高效响应式自助建站源码系统?
行程制作网站有哪些,第三方机票电子行程单怎么开?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
建站之星如何快速解决建站难题?
建站之星云端配置指南:模板选择与SEO优化一键生成
网站制作网站,深圳做网站哪家比较好?
开封网站制作公司,网络用语开封是什么意思?
如何选择适合PHP云建站的开源框架?
长沙做网站要多少钱,长沙国安网络怎么样?
制作网站外包平台,自动化接单网站有哪些?
大同网页,大同瑞慈医院官网?
Java解压缩zip - 解压缩多个文件或文件夹实例
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
建站之星如何保障用户数据免受黑客入侵?
个人网站制作流程图片大全,个人网站如何注销?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
在线制作视频网站免费,都有哪些好的动漫网站?
如何在腾讯云免费申请建站?
建站之星2.7模板快速切换与批量管理功能操作指南
建设网站制作价格,怎样建立自己的公司网站?
如何零基础开发自助建站系统?完整教程解析
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何在万网开始建站?分步指南解析
如何将凡科建站内容保存为本地文件?
免费网站制作appp,免费制作app哪个平台好?
如何选择建站程序?包含哪些必备功能与类型?
代刷网站制作软件,别人代刷火车票靠谱吗?
建站主机类型有哪些?如何正确选型
广州商城建站系统开发成本与周期如何控制?
如何高效配置香港服务器实现快速建站?
制作网页的网站有哪些,电脑上怎么做网页?
如何通过虚拟主机空间快速建站?
如何通过WDCP绑定主域名及创建子域名站点?
建站主机核心功能解析:服务器选择与网站搭建流程指南
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
平台云上自助建站如何快速打造专业网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
实现虚拟支付需哪些建站技术支撑?
建站org新手必看:2024最新搭建流程与模板选择技巧
建站主机与虚拟主机有何区别?如何选择最优方案?
网站制作公司排行榜,四大门户网站排名?
建站之星展会模版如何一键下载生成?
重庆市网站制作公司,重庆招聘网站哪个好?
建站VPS配置与SEO优化指南:关键词排名提升策略
制作营销网站公司,淘特是干什么用的?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
如何用AWS免费套餐快速搭建高效网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。