Java如何实现压缩图片大小
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,本篇内容主要讲解"Java如何实现压缩图片大小",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何实现压缩图片大小"吧!使用场景:1.当使用图片上传
千家信息网最后更新 2025年02月19日Java如何实现压缩图片大小
本篇内容主要讲解"Java如何实现压缩图片大小",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何实现压缩图片大小"吧!
使用场景:
1.当使用图片上传功能时,上传图片太大,造成对服务器资源过多的占用
2.客户端上传图片尺寸大小不一,前端需要展示给用户固定尺寸时,可通过java进行对上传图片统一进行处理
功能预览
1.压缩前
2.压缩后
代码实现:
package com.linghu.test;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;/* * @author 在下令狐 * @describe 压缩图片大小 * @date 2020/6/12 */public class TestCompressImage { public static void main(String[] args) { try { //图片所在路径 BufferedImage templateImage = ImageIO.read(new File("f:/temp/linghu.jpg")); //原始图片的长度和宽度 int height = templateImage.getHeight(); int width = templateImage.getWidth(); //通过比例压缩 float scale = 0.5f; //通过固定长度压缩 /*int doWithHeight = 100; int dowithWidth = 300;*/ //压缩之后的长度和宽度 int doWithHeight = (int) (scale * height); int dowithWidth = (int) (scale * width); BufferedImage finalImage = new BufferedImage(dowithWidth, doWithHeight, BufferedImage.TYPE_INT_RGB); finalImage.getGraphics().drawImage(templateImage.getScaledInstance(dowithWidth, doWithHeight, java.awt.Image.SCALE_SMOOTH), 0, 0, null); //图片输出路径,以及图片名 FileOutputStream fileOutputStream = new FileOutputStream("f:/temp/linghuAfterDoWith.jpg"); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fileOutputStream); encoder.encode(finalImage); fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } }}
到此,相信大家对"Java如何实现压缩图片大小"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
图片
大小
长度
内容
功能
宽度
尺寸
路径
学习
原始
实用
更深
兴趣
前端
后代
场景
实用性
实际
客户
客户端
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网路打印服务器
数据库插入数据错误
自己公司弄个服务器安全么
软件开发与服务股票
查询数据库用了哪些表空间
锐龙cpu做软件开发
吉林网络技术推广
计算机网络技术应用技术学什么
vscode远程服务器调试
AecDB数据库
创造与魔法沙子价格最高的服务器
美国保护网络安全吗
软件开发付款方式条款
软件开发请款函
数据库1406错误啥意思
怎么查多张表有几行数据库
数据库日期转出字符串
青浦区品牌软件开发咨询热线
兆尹科技是互联网金融公司
怎么把数据库表里面的数据清空
数据库管理员的职责
linnx 软件开发
数据库和信息技术有什么关系
软件开发阶段信息报道
数据库设计 e-r图
数据库和运维那个比较吃香
为什么魔兽不能只有一个服务器
应用系统数据库设计规范
美国和中国网络安全吗
软件开发式样书