Thumbnailator项目git地址:https://github.com/coobird/thumbnailator

使用步骤

1.添加依赖

<!-- Thumbnailator图片处理 -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
2.源图片来源有2种方式:第一种从文件中读取图片,第二种从文件流中读取图片
try {
Thumbnails.of(new File("C:/Users/Pictures/Saved Pictures/logo1.png"))
.size(500, 500)
.toFile(new File("D:/data/images/thumbnai3.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
try {
InputStream inputStream = new FileInputStream(new File("C:/Users/Pictures/Saved Pictures/logo1.png"));
Thumbnails.of(inputStream)
.size(500, 500)
.toFile(new File("D:/data/images/thumbnai3.jpg"));
} catch (IOException e) {
e.printStackTrace();
}

3.输出图片方式:输出图片文件或文件流

Thumbnails.of(new File("C:/Users/Pictures/Saved Pictures/logo1.png"))
.size(500, 500)
.toFile(new File("D:/data/images/thumbnai3.jpg"));

或者

InputStream inputStream = new ByteArrayInputStream(fileContent);
BufferedImage afterImage = Thumbnails.of(inputStream)
.size(afterSize, afterSize) //按指定大小把图片进行缩和放(会遵循原图高宽比例)
// .scale(1.00f) //按照指定比例进行缩小和放大
// .rotate(90) //旋转图片,rotate(角度),正数则为顺时针,负数则为逆时针
// .outputQuality(1) //压缩图片文件大小,1为最高质量
// .watermark(Positions.CENTER,ImageIO.read(waterPic),0.5f) //给图片加水印,watermark(位置,水印图,透明度)Positions.CENTER表示加在中间
// .sourceRegion(Positions.CENTER,300,300) //用sourceRegion()实现图片裁剪,图片中心300*300的区域,Positions.CENTER表示中心
// .outputFormat("png") //用outputFormat(图像格式)转换图片格式,保持原尺寸不变
.asBufferedImage();

使用第三方工具Thumbnailator动态改变图片尺寸的更多相关文章

  1. 通过html5的range属性动态改变图片的大小

    range属性已经是很成熟的属性了,我们可以使用这个属性进行动态调整图片的宽度,其中原理在于通过不断获取range的值,并赋予给所需要的图片,进而达到动态改变图片的效果.下面贴出具体的代码,主要参照了 ...

  2. 使用jQuery动态改变图片显示大小

    当我们要显示后台传过来若干个尺寸不一的图片时,为了保证图片大小的一致性及比例的协调,需要动态改变图片显示尺寸.通过搜索,我们可以从网上找到实现此 功能的jQuery代码如下.这段代码可以使图片的大小保 ...

  3. C#根据屏幕分辨率改变图片尺寸

    最近工作中遇到一个问题,就是需要将程序文件夹中的图片根据此时电脑屏幕的分辨率来重新改变图片尺寸 以下为代码实现过程: 1.获取文件夹中的图片,此文件夹名为exe程序同目录下 //读取文件夹中文件 Di ...

  4. iOS改变图片尺寸

    - (UIImage *)originImage:(UIImage *)image scaleToSize:(CGSize)size { UIGraphicsBeginImageContext(siz ...

  5. 改变图片尺寸(python)

    for name in /图片路径; do convert -resize 256x256! $name $namedone

  6. js动态改变图片热区坐标,手机端图片热区自适应

    <img id='banner1' src="images/banner.jpg" usemap="#banner" border="0&quo ...

  7. C# 改变图片尺寸(压缩),Image Resize

    /// <summary> /// Resize image with a directory as source /// </summary> /// <param n ...

  8. 使用Photoshop不改变图片尺寸,保存图片到30K以下的解决办法

  9. img超出div width时, jQuery动态改变图片显示大小

    参考: 1. http://blog.csdn.net/roman_yu/article/details/6641911 2. http://www.cnblogs.com/zyzlywq/archi ...

随机推荐

  1. EasyUI之DataGird动态组合列

    Dojo.ExtJS.Jquery(EasyUI.jQgrid.ligerui.DWZ).还有asp.net中的服务器控件.当然也少不了HTML 标签之table标签了.其中dojo.ExtJS.Jq ...

  2. MySQL 常用语句总结

    用一个表更新另一个表 UPDATE table1 t1, table2 t2 SET t1.field1 = t2.field1, t1.field2 = t2.field2 WHERE t1.fie ...

  3. RabbitMQ使用时注意的一些问题

     一.前言       上篇RabbitMQ的博文居然上了推荐,效果很不错,接下来我们就来聊聊我们RabbitMQ的方案,先谈方案,代码等等后面补上,感觉不错给我点点关注,点点

  4. 爬取5K分辨率超清唯美壁纸

    目录 爬取5K分辨率超清唯美壁纸 简介 编写思路 使用教程 演示图片 完整源代码 @ 爬取5K分辨率超清唯美壁纸 简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空 ...

  5. 原创|1分钟搞定 Nginx 版本的平滑升级与回滚

    Nginx无论是对于运维.开发.还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 ...

  6. 01-Redhat/Centos7网卡命名介绍及修改方式

    1. Redhat/Centos7网卡命名介绍 1.1 网络设备命名 Redhat/Centos7提供在网络接口中使用新的网络设备命名方法.这些功能会更改系统中的网络接口名称,以便定位和区分这些接口. ...

  7. 基于 docker 的yapi(快速部署)

    1.使用官方的mongodb镜像 docker run --network yapi_net --ip 172.30.0.10  -d --name yapi_mongodb --restart al ...

  8. Linux切换为超级用户的命令

    问题描述 使用vi编辑器写好内容后保存并退出时遇到以下问题 解决方案 该问题的原因是用户权限不够,因为普通用户用 vi 不能保存文件,需要使用超级用户才可以. 先转换为超级用户:su 再用vi打开文件 ...

  9. idea 连接redis 出现 Caused by: java.net.SocketTimeoutException: connect timed out

    Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.n ...

  10. 2019-04-09 SpringBoot+Druid+MyBatis+Atomikos 的多数据源配置

    前面部分是网上找的,我按照网上写的把自己搭建的过程展示一次 1.引入依赖 目前项目本来使用到了Mybatis plus(在自己的Mapper接口中继承BaseMapper获得基本的CRUD,而不需要增 ...