图片尺寸的修改(Java)
最近在写一个小项目,里面要用到一些小图标,但是阿里矢量图上面的图标尺寸,有一点大,需要等比例缩小一下尺寸,而且文件有点多,要批量操作,就写一个工具类操作一下,这里要引入一个依赖

<dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.8</version>
</dependency>

然后具体的流程就是,先确定要扫描的文件夹,然后获取到所有的文件名,改变图片尺寸,并且保存到目标路径

package com.mingke.zzuli;import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;import net.coobird.thumbnailator.Thumbnails;public class Main {static String IMAGE_PATH = "D:\\apexmic\\标签打印\\图标";public static void main(String[] args) throws IOException {//创建出来的文件,存储到目标文件夹String destPath = IMAGE_PATH + "\\target";File folder = new File(destPath);//判断文件夹是否存在,如果不存在,就创建if(!folder.exists()) {folder.mkdir();System.out.println("create");}else {System.out.println("already");}String patten = ".*\\.png";int newWidth = 64;int newHeight = 64;List<String> result = getAllFile(IMAGE_PATH, true);for(String item : result) {if(item.matches(patten)) {System.out.println("source "+item);//创建文件,获取到文件名,用来拼装目标文件路径File itemFile = new File(item);if(itemFile.exists() && itemFile.isFile()) {String dest = destPath + "\\" + itemFile.getName();//改变图片尺寸resizeImage(item, dest, newWidth, newHeight, true);System.out.println(itemFile.getName()+" is already success");}}}}/*** 获取路径下的所有文件/文件夹* @param directoryPath 需要遍历的文件夹路径* @param isAddDirectory 是否将子文件夹的路径也添加到list集合中* @return*/public static List<String> getAllFile(String directoryPath,boolean isAddDirectory) {List<String> list = new ArrayList<String>();File baseFile = new File(directoryPath);if (baseFile.isFile() || !baseFile.exists()) {return list;}File[] files = baseFile.listFiles();for (File file : files) {if (file.isDirectory()) {if(isAddDirectory){list.add(file.getAbsolutePath());}list.addAll(getAllFile(file.getAbsolutePath(),isAddDirectory));} else {list.add(file.getAbsolutePath());}}return list;}/*** 重新生成图片宽、高* @param srcPath 图片路径* @param destPath 新生成的图片路径* @param newWith 新的宽度* @param newHeight 新的高度* @param forceSize 是否强制使用指定宽、高,false:会保持原图片宽高比例约束* @return* @throws IOException */public static boolean resizeImage(String srcPath, String destPath, int newWith, int newHeight, boolean forceSize) throws IOException {if (forceSize) {Thumbnails.of(srcPath).forceSize(newWith, newHeight).toFile(destPath);} else {Thumbnails.of(srcPath).width(newWith).height(newHeight).toFile(destPath);}return true;}}

图片尺寸的修改(Java)相关推荐

  1. 怎么修改原图片的尺寸?图片尺寸在线修改工具分享

    平时经常会遇到图片尺寸过大导致无法上传的问题,其实可以通过图片尺寸修改(https://www.yasuotu.com/size)来解决,下面给大家分享一款图片尺寸在线修改工具,打开浏览器即可改图片大 ...

  2. 图片尺寸怎么修改?这些方案轻松掌握

    小伙伴们知道图片尺寸怎么修改吗?在我们的日常工作或学习中少不了要P图或者其他的编辑需求,可能会遇到需要调整图片大小的情况.当这种情况发生时,大家都是使用什么方法呢?修改图像尺寸可以分为裁剪图像和降低图 ...

  3. 图片放在ppt里特别大怎么办?图片尺寸的修改方法

    在往ppt里插入图片的时候,如果插入的图片尺寸太大,会导致图片显示不全,那么有没有修改图片尺寸的方法呢?其实解决这个问题很简单,使用图片改大小(在线修改图片尺寸大小工具-压缩图)工具来调整图片大小尺寸 ...

  4. 一刀工具箱 - 图片尺寸批量修改工具

    一刀工具箱是一款集合多个实用工具的智能APP,包含100多种不同的功能,基本满足您在工作生活使用需求,只需要一个应用就可以解决日常小问题,不再需要下多个应用 1.打开一刀APP,进行APP首页,点击& ...

  5. w3cschool php 调整图片尺寸,PHP_php修改上传图片尺寸的方法,本文实例讲述了php修改上传图 - phpStudy...

    php修改上传图片尺寸的方法 本文实例讲述了php修改上传图片尺寸的方法.分享给大家供大家参考.具体实现方法如下: // This is the temporary file created by P ...

  6. Discuz手机触屏版的图片尺寸显示修改

    可能是出于节省流量的考虑,DZ手机触屏版把图片搞得非常小.首先在上传的时候,生成一张手机版缩略图,这个图的尺寸很小,就算在模板上放大尺寸,也会变模糊.然后在手机模板上,图片的高和宽设置得非常小,140 ...

  7. C#修改图片尺寸,不改变原有图片比例

    C#使用BitMap修改图片尺寸,修改图片大小,不改变原有图片比例 修改后图片  代码 public static void image(){System.Drawing.Image img = Sy ...

  8. 淘宝图片尺寸怎么修改?电脑怎么修改图片尺寸大小?

    图片的应用范围也越来越广泛,许多做淘宝的小伙伴,经常遇到很多图片编辑处理的问题,比如修改图片尺寸:本文将主要介绍图片尺寸修改(https://www.yasuotu.com/size)的详细操作,一起 ...

  9. python读取图片格式_Python读取图片尺寸、图片格式

    Python读取图片尺寸.图片格式 需要用到PIL模块,使用pip安装Pillow.Pillow是从PIL fork过来的Python 图片库. from PIL import Image im = ...

  10. 如何扩大图片尺寸大小?图片怎么编辑大小尺寸?

    有我们在网上找图片素材的时候,有时候会发现找到的图片尺寸很小,导致无法使用,只能将这张图片扩大尺寸.怎么放大图片尺寸呢?其实我们可以使用图片改大小(在线修改图片尺寸大小工具-压缩图)工具来修改图片大小 ...

最新文章

  1. 漫话:如何给女朋友解释什么是Git和GitHub?
  2. Unable to start activity ComponentInfo
  3. RTSP over UDP RTSP over TCP
  4. 可应用于实际的14个NLP突破性研究成果(一)
  5. 图形化界面工具 SQLyog
  6. td里面字体大小怎么改_教你王者荣耀改战区
  7. Eclipse 导入项目到git@osc中
  8. maven的常用指令
  9. Android签名校验
  10. kubernetes更换IP地址重新初始化master节点
  11. Java 在接口Interface中 使用关键字 default
  12. 微信公众号自定义菜单创建
  13. redis sorted_set跳跃表(skiplist)
  14. js判断手机的横竖屏调整样式
  15. Java静态绑定与动态绑定
  16. motan学习笔记 二 motan架构分析
  17. CH340进行STM32单片机程序烧录
  18. 2022年9月电子学会C语言等级考试试卷(三级)答案解析
  19. 国内图书分类号 国际图书分类号查询
  20. 【软路由】esxi 配合UPS停电自动关机,网络异常自动重启openwrt虚拟机

热门文章

  1. html页面获取扫码枪参数,js获取扫码枪输入数据的方法
  2. java cmyk和rgb的转换_CMYK与RGB相互转换(java)
  3. 标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号。 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列
  4. 服务器cpu占用过高一般是什么原因,常见云服务器CPU占用100%问题原因及解决办法...
  5. html右键打印,怎么在鼠标右键添加打印选项?
  6. 成为技术主管需要做到的三点
  7. 把win10系统迁移至ssd后,开机时电脑默认不会启动ssd里面系统的问题解决方法
  8. 单元测试、黑盒测试、白盒测试
  9. NXP JN5169 使用硬件 SPI 从机收发数据
  10. [JL]最后的晚餐 动态规划(DP) codevs5318