使用第三方工具Thumbnailator动态改变图片尺寸
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动态改变图片尺寸的更多相关文章
- 通过html5的range属性动态改变图片的大小
range属性已经是很成熟的属性了,我们可以使用这个属性进行动态调整图片的宽度,其中原理在于通过不断获取range的值,并赋予给所需要的图片,进而达到动态改变图片的效果.下面贴出具体的代码,主要参照了 ...
- 使用jQuery动态改变图片显示大小
当我们要显示后台传过来若干个尺寸不一的图片时,为了保证图片大小的一致性及比例的协调,需要动态改变图片显示尺寸.通过搜索,我们可以从网上找到实现此 功能的jQuery代码如下.这段代码可以使图片的大小保 ...
- C#根据屏幕分辨率改变图片尺寸
最近工作中遇到一个问题,就是需要将程序文件夹中的图片根据此时电脑屏幕的分辨率来重新改变图片尺寸 以下为代码实现过程: 1.获取文件夹中的图片,此文件夹名为exe程序同目录下 //读取文件夹中文件 Di ...
- iOS改变图片尺寸
- (UIImage *)originImage:(UIImage *)image scaleToSize:(CGSize)size { UIGraphicsBeginImageContext(siz ...
- 改变图片尺寸(python)
for name in /图片路径; do convert -resize 256x256! $name $namedone
- js动态改变图片热区坐标,手机端图片热区自适应
<img id='banner1' src="images/banner.jpg" usemap="#banner" border="0&quo ...
- C# 改变图片尺寸(压缩),Image Resize
/// <summary> /// Resize image with a directory as source /// </summary> /// <param n ...
- 使用Photoshop不改变图片尺寸,保存图片到30K以下的解决办法
- img超出div width时, jQuery动态改变图片显示大小
参考: 1. http://blog.csdn.net/roman_yu/article/details/6641911 2. http://www.cnblogs.com/zyzlywq/archi ...
随机推荐
- golang 调用windows API 中文的处理
Go语言发展势头很猛,其实缺点也很多,好在有广大爱好者提供了无数的库,把优点表现得太好了,搞得什么都是拿来就使用,基本完全不理会指针,性能还不错. 最近在windows下使用遇到一个中文的问题,首先要 ...
- dig请求和回应中的参数解释
; <<>> DiG 9.9.5-3ubuntu0.6-Ubuntu <<>> baidu.com dig这个程序的版本号和要查询的域名 ;; glob ...
- django项目外部的脚本文件执行ORM操作,无需配置路由、视图启动django服务
#一.将脚本路径添加到python的sys系统环境变量里 import sys # sys.path.append('c:/Users/Administrator/www/mymac') #第一种.绝 ...
- Vue echarts
方式一.直接引入echarts 先 npm 安装 echarts npm install echarts --save // main.js import myCharts from './comm/ ...
- promise源码解析
前言 大部分同学对promise,可能还停留在会使用es6的promise,还没有深入学习.我们都知道promise内部通过reslove.reject来判断执行哪个函数,原型上面的then同样的,也 ...
- 全面系统讲解CSS 工作应用+面试一步搞定
- MySQL中怎么对varchar类型排序问题(转)
在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同学介绍varchar类型排序问题如何解决. 今天在对国家电话号码表进行 ...
- centos 桌面没有有线设置,不能上网
1.ifconfig 发现缺少网卡 ensxx 2.cd /etc/sysconfig/network-scripts/ 发现有网卡ens的配置文件,只是没有启动 3.ifconfig -a 发现有 ...
- tornado之用户验证装饰器
authenticated装饰器 为了使用Tornado的认证功能,我们需要对登录用户标记具体的处理函数.我们可以使用@tornado.web.authenticated装饰器完成它.当我们使用这个装 ...
- CF1153 F. Serval and Bonus Problem(dp)
题意 一个长为 \(l\) 的线段,每次等概率选择线段上两个点,共选出 \(n\) 条线段,求至少被 \(k\) 条线段覆盖的长度期望. 数据范围 \(1 \le k \le n \le 2000, ...