最近因为公司要需要xxx认证上传测试用例功能的具体截图、发现有大小限制、所以就进行了图片压缩,简单记录一下。

压缩前大小:

压缩后大小:

具体代码实现:

main方法测试:

 public static void main(String[] args) throws IOException {String modpath = "C:\\Users\\Administrator\\Desktop\\鲲鹏认证\\test\\";getFiles("C:\\Users\\Administrator\\Desktop\\鲲鹏认证\\测试用例清单", modpath, 160);//将图片压缩至100宽}
复制代码

文件大小处理

/*** @param srcPath 原图片路径* @param desPath 转换大小后图片路径* @param width   转换后图片宽度* @param height  转换后图片高度*/public static void resizeImage(String srcPath, String desPath, int width, int height) throws IOException {File srcFile = new File(srcPath);Image srcImg = ImageIO.read(srcFile);BufferedImage buffImg = null;buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);//使用TYPE_INT_RGB修改的图片会变色buffImg.getGraphics().drawImage(srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, null);String filePath="";if (srcFile.getName().contains("#")) {filePath = srcFile.getName().replace("#", "");}else{filePath=srcFile.getName();}ImageIO.write(buffImg, "PNG", new File(desPath + filePath));}
复制代码

获取目录文件信息

/*** @param scaleSize 图片的修改比例,目标宽度*/public static void getFiles(String path, String modPath, int scaleSize) throws IOException {ArrayList<String> files = new ArrayList<String>();File file = new File(path);File[] tempList = file.listFiles();//循环读取目录下图片for (int i = 0; i < tempList.length; i++) {String filePath = tempList[i].getName();if (tempList[i].isFile()) {System.out.println("文件:" + filePath + "-" + tempList[i].getAbsolutePath().replaceAll("\\\\", "/"));String[] imagePath = tempList[i].getAbsolutePath().replaceAll("\\\\", "/").split("/");String imageNumber = null;FileUtil.resizeImage(tempList[i].getAbsolutePath().replaceAll("\\\\", "/"), modPath, 160, 160);files.add(tempList[i].toString());}if (tempList[i].isDirectory()) {System.out.println("文件夹:" + tempList[i]);}}System.out.println(path + "下文件数量:" + files.size());}
复制代码

控制台目录压缩成功保存到盘符

Java实现图片批量压缩像素相关推荐

  1. Java之~hutool批量压缩多个图片文件上传到云服务(InputStream )

    用的hutool工具类 import cn.hutool.core.util.ZipUtil; 批量多张图片进行压缩.我这边是将上传到华为云的图片进行批量打包压缩. //图片批量压缩     @Tes ...

  2. java 异想_异想家博客图片批量压缩程序

    为了方便给自己的博客配图,用Golang写了一个脚本处理,现分享出来,有需要的朋友也可以参考修改使用. 压缩规则 1.图片都等比例压缩,不破坏长宽比. 2.如果是横屏图片,压缩到宽度为1280,高度适 ...

  3. 如何使用python批量压缩图片_python 实现图片批量压缩的示例

    项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩 一:导入包 from PIL import Image import os 二:获取图片文件的大小 def get_si ...

  4. python批量压缩图片_Python图片批量压缩到指定大小并将JPG转为PNG格式

    背景: 待压缩的图片大小有几十KB到近10M大小不等,且绝大部分图片为JPG格式.这些待压缩图片放在picture文件夹下 以及picture文件夹下的子文件夹中 现需要将picture文件夹下这些图 ...

  5. 快速批量压缩照片到指定大小工具,照片图片批量压缩实现方法,批量压缩工具

    在工作中,会遇到在某些系统要上传照片,但是对于上传的照片大小有限制,比如限制大小不能超过1MB等,而外业拍摄的照片往往会超过限制的大小,那么这时就需要对照片进行压缩.但是外业照片数据巨大,人工逐张操作 ...

  6. 如何将图片批量压缩?全面盘点这几种小方法

    写在前面:现在的人们都喜欢用自己手机里的相机来记录自己生活中的点滴美好,而拍照成为人们记录自己生活的最常用的一个方式,这样当时间过去也会记得自己之前曾去过哪些地方,可是照片多了之后也很烦恼,图片太多, ...

  7. 图片批量压缩方法及步骤

    图片批量压缩方法及步骤!平常我们会将手机拍摄的照片传输到电脑里保存,时间久了后电脑中会有大量的图片,这些图片大都是1M-2M的体积大小,这些图片会占用大量的电脑磁盘空间,可能会导致电脑变得很卡等现象. ...

  8. python jpg压缩_python 实现图片批量压缩的示例

    项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩 一:导入包 from PIL import Image import os 二:获取图片文件的大小 def get_si ...

  9. 图片批量压缩变小的办法

    手机拍的照片往往尺寸过大,或者时间长了我们需要对电脑的图片进行整理,很多情况下需要对大量图片进行压缩变小.图片批量压缩变小的办法,不知道大家有没有什么好的分享.今天我就分享我的方法,我使用公司安装的的 ...

最新文章

  1. iOS应用模块化的思考及落地方案(二)模块化自动构建工具的使用
  2. VC++读取图像RGB值
  3. linux如何取文件列名,Linux_根据表名和索引获取需要的列名的存储过程,复制代码 代码如下: create proc p - phpStudy...
  4. 图元和片元_OpenGL中的顶点、 图元、片元、像素的含义
  5. WebRTC / Jitsi / 使用 jitsi 官方源安装内网演示环境过程
  6. 11函数的应用(函数名=变量)
  7. C#中如何利用操作符重载和转换操作符
  8. vue插件挂载html6,vue6
  9. CFA大起底:三百六十度无死角详解CFA到底是个啥?
  10. Reports empty tag body. The validation works in XML / JSP / JSPX / HTML/ XHT
  11. 51nod1770 数数字 规律
  12. Number.EPSILON
  13. doxygen 教程 linux,使用Doxygen生成全中文的chm、pdf帮助文档的方法
  14. api zoom 实现自动预定_一种基于Web端API的网络地图图片自动截取拼接的方法与流程...
  15. 查看linux当前ip,linux查看当前服务器ip地址 命令行
  16. 华为交换机接口绑定mac案例
  17. 利用群发短信进行精准高效的会员营销
  18. HourGlass源码阅读
  19. [问题已处理]-mac安装cobra失败
  20. Java11 主要新特性

热门文章

  1. Uncle Sam 山姆大叔
  2. 计算机毕业设计ssm农贸市场摊位管理系统c22ux系统+程序+源码+lw+远程部署
  3. python实现简单的求矩阵的逆
  4. D-009 eMMC电路设计
  5. 【目标检测】xmin,ymin,width,height 转为 xmin,ymin,xmax,ymax
  6. Eclipse执行junit测试时出现Errors occurred during the build. Errors running builder 'Integrated External Too
  7. disallow php,在robots.txt中Disallow: /abc和Disallow: /abc/的区别
  8. 朱松纯领衔、北大清华超强联合,开启「通用人工智能实验班」
  9. 智源社区周刊:LeCun等撰文回应Marcus;朱松纯团队价值对齐工作登Science官网头条;马毅沈向洋等公开AI智能综述论文...
  10. 799 - 背包问题VIII - LintCode