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. 记录display:table的使用

    兼容性:不兼容IE7 1.左右对齐 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  2. XMind 8 Pro 破解

    1.补丁下载地址 链接:https://pan.baidu.com/s/146qcwkvOGCAneIXabSZSUA    提取码:wygs 2.安装 XMind 8 Pro, 运行 3. 去除检查 ...

  3. idea 右键无java class选项

    项目中新建module之后,要在该目录下新增java Class文件,右键——>New发现无Java Class选项. File –Project Structure或者ctrl+alt+shi ...

  4. 随心测试_数据库_002 <数据库系统组成>

    软测工程师:作为综合运用多学科知识,保障软件质量的重要岗位.需要我们学以致用,在工作中不断学习提升.以下:软测人员必备_数据库核心技能学习点,供大家学习参考. 数据库系统组成_必备 1. 简介:数据库 ...

  5. Educational Codeforces Round 61 (Rated for Div. 2)-C. Painting the Fence 前缀和优化

    题意就是给出多个区间,要求去掉两个区间,使得剩下的区间覆盖范围最大. 当然比赛的时候还是没能做出来,不得不佩服大佬的各种姿势. 当时我想的是用线段树维护区间和,然后用单点判0,维护区间间断个数.然后打 ...

  6. [题解] Codeforces Round #549 (Div. 2) B. Nirvana

    Codeforces Round #549 (Div. 2) B. Nirvana [题目描述] B. Nirvana time limit per test1 second memory limit ...

  7. Vue echarts

    方式一.直接引入echarts 先 npm 安装 echarts npm install echarts --save // main.js import myCharts from './comm/ ...

  8. Python进阶11---异常及模块化

    异常处理 异常Exception 产生异常

  9. Sass 笔记

    Sass 笔记 1. 安装,依赖Ruby sass依赖Ruby, 所以Windows要先安装Ruby, Mac自带无需安装 $ gem install sass 2. 两种文件格式 sass scss ...

  10. styled-components解决全局样式'injectGlobal' 废除的问题

    最新版的 styled-components v4 已经将原有的 injectGlobal() 方法替换成了 createGlobalStyle() ,而且用法也和之前的 injectGlobal 方 ...