项目中需求需要将图片翻转,百度一波后发现了 Thumbnails。很好用的工具类。这里记下简单的使用方法。

引入jar包

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

部分API

图片翻转
    @SneakyThrowsprivate static void testXuanZhuan() {// rotate:旋转角度// scale:缩放比例,没有这个参数会报错Thumbnails.of("F:\\yan.jpg").scale(1.0).rotate(90).toFile("F:\\image/xuanzhuan_90.jpg");Thumbnails.of("F:\\yan.jpg").scale(1.0).rotate(-90).toFile("F:\\image/xuanzhuan_-90.jpg");}
按比例缩放
    @SneakyThrowsprivate static void testBiLiSuoFang() {// scale:缩放比例,没有这个参数会报错Thumbnails.of("F:\\yan.jpg").scale(0.5f).toFile("F:\\image/suofang_0.5.jpg");Thumbnails.of("F:\\yan.jpg").scale(1.5f).toFile("F:\\image/suofang_1.5.jpg");}
按大小缩放
    @SneakyThrowsprivate static void testDaXiaoSuoFang() {/*size(width,height) 若图片宽比 width 小,高比 height 小,不变若图片宽比120小,高比120大,高缩小到120,图片比例不变 若图片宽比120大,高比120小,横缩小到120,图片比例不变若图片宽比120大,高比120大,图片按比例缩小,宽为120或高为120*/        Thumbnails.of("F:\\yan.jpg").size(120, 120).toFile("F:\\image/suofang_120x120.jpg");// keepAspectRatio:设置是否保持原始图像的纵横比Thumbnails.of("F:\\yan.jpg").size(120, 120).keepAspectRatio(false).toFile("F:\\image/suofang_120x120_1.jpg");}
水印
    @SneakyThrowsprivate static void testShuiYin() {/*** watermark(位置,水印图,透明度)*/Thumbnails.of("F:\\yan.jpg").scale(1.0).watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("F:\\shuiyin.png")), 0.5f).outputQuality(0.8f).toFile("F:\\image/shuiyin.jpg");}
裁剪
    @SneakyThrowsprivate static void testCaiJian() {// 图片中心 120 * 120 的区域Thumbnails.of("F:\\yan.png").scale(1.0).sourceRegion(Positions.CENTER, 120, 120).toFile("F:\\image/yan_center.jpg");// 图片右下 120 * 120 的区域Thumbnails.of("F:\\yan.png").scale(1.0).sourceRegion(Positions.BOTTOM_RIGHT, 120, 120).toFile("F:\\image/yan_bootom_right.jpg");// 指定坐标,注意图片大小Thumbnails.of("F:\\yan.png").scale(1.0).sourceRegion(400, 300, 200, 200).toFile("F:\\image/yan_local.jpg");}
格式转换
    @SneakyThrowsprivate static void testCaiJian() {// 最后文件可以加后缀名也可以不加Thumbnails.of("F:\\yan.png").scale(1.0).outputFormat("jpg").toFile("F:\\image/yan");Thumbnails.of("F:\\yan.png").scale(1.0).outputFormat("jpg").toFile("F:\\image/yan_1.jpg");}
输出流
    @SneakyThrowsprivate static void testStream() {OutputStream os = new FileOutputStream("F:\\image/yan_stream.png");Thumbnails.of("F:\\yan.png").scale(1.0).toOutputStream(os);}
``

图片工具类-Thumbnails相关推荐

  1. Java之png图片工具类

    import java.awt.Graphics2D; import java.awt.Image; import java.awt.Transparency; import java.awt.ima ...

  2. Java 旋转、翻转图片工具类(附代码) | Java工具类

    目录 前言 Maven依赖 代码 总结 前言 本文提供java操作图片生成旋转.翻转后的图片工具类,拿来即用. Maven依赖 <dependency><groupId>com ...

  3. Java旋转图片工具类

    前言: 本文提供可以任意角度(最小精度1度),旋转图片的Java工具类,旋转后的图片不会失真或丢失边角,根据角度参数,重新绘制图片,达到无损旋转的目的. 一.图片工具类 import java.awt ...

  4. 常用工具类五 Excel转图片工具类

    市面上大多数excel转图片为收费工具,借鉴他人用awt的Graphics2D自己实现的工具类,只涉及poi依赖. /** * 版权: taylor * 描述: 将excel转为图片工具类 * 创建时 ...

  5. excel转图片工具类

    添加依赖 <repository><id>AsposeJavaAPI</id><name>Aspose Java API</name>< ...

  6. 缩放图片工具类,创建缩略图、伸缩图片比例

    支持将Image的宽度.高度缩放到指定width.height,并保存在指定目录 通过目标对象的大小和标准(指定)大小计算出图片缩小的比例 可以设置图片缩放质量,并且可以根据指定的宽高缩放图片 pac ...

  7. 上传PDF文件转换图片工具类

    一,pdf图片转换工具 import org.apache.http.entity.ContentType; import org.apache.pdfbox.pdmodel.PDDocument; ...

  8. 打印多张分页图片工具类

    工具类创建,可以直接复制粘贴 /// <summary>/// 获取图片打印图片/// </summary>public class PrintImage{PrintDocum ...

  9. Java读写pdf、pdf转图片工具类

    本工具类所用到的相关jar包及版本有:     1.pdfbox-1.5.0.jar     2.fontbox-1.5.0.jar     3.jempbox-1.5.0.jar     4.iTe ...

最新文章

  1. 记一次Python与C#的AES加密对接
  2. PHP进行图片下载的时候,出现图片损坏,无法打开(实质原因,多输出了一个空白字符ZWNBSP )
  3. 【微信小程序】小程序之自定义头部导航栏背景图
  4. UI:UITableView 编辑、cell重用机制
  5. Java 连接MS Access数据库
  6. TypeScript的类型断言,有点像ABAP的强制类型转换
  7. FreeCodeCamp纳什维尔聚会的回顾
  8. Leetcode: Divide Two Integers
  9. OpenCV与图像处理学习十三——Harris角点检测(含代码)
  10. WINDOWS删除N天前的文件命令forfiles
  11. 小米 MIUI 12 Magisk root教程(无需刷REC)
  12. IOS平台hosts修改
  13. 【信息系统项目管理师】项目管理十大知识领域速记
  14. 【虚拟机数据恢复】误删除VMware虚拟机vmdk文件的数据恢复案例
  15. 批量打印html文档,vue项目中使用Lodop实现批量打印html页面和pdf文件
  16. C#窗体Winform,如何嵌入图片添加图片,使用图片资源?
  17. 扭转二战战局的密码系统 | 历史上的今天
  18. AVPro Video 插件在unity中动态播放视频
  19. SQL exists 删除重复记录
  20. 大场景三维点云语义分割模型

热门文章

  1. openstack介绍及原理
  2. Check Point 收购 Avanan,重塑云电子邮件和协作安全性
  3. 假设检验---p临界值法
  4. Apache配置详解(最好的APACHE配置教程)
  5. 【解决方案】智慧校园建设如何通过国标GB/T28181级联打造县-市-省三级架构的视频集中管理平台?
  6. Java字符串去除中文
  7. postman测试接口List<JSONObject>类型的参数
  8. java 进度条 swt,SWT中的进度条
  9. 清理缓存的问题ctrl+F5或者引入外部js的时候?加任意数字
  10. transformer t5代码解读4(主要内容bert4keras实现t5模型)