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. kerberos环境下flume写hbase

    直接看官网 http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#hbasesinks a1.channels = c1 ...

  2. ansible_playbook 一键搭建集群架构

    目录 基础优化 SSH.Ansible,批量管理服务项目 剧本开始-----.10分钟左右 mail.yaml base.yaml rsync.yaml nfs.yaml web.yaml tweb. ...

  3. 类Scanner

    什么是Scanner类 一个可以解析基本类型和字符串的简单文本扫描器. 引用类型使用步骤 1:导包:使用import关键字导包,在类的所有代码之前导包,引入要使用的类型. java.lang包下的所有 ...

  4. Python----逻辑回归

    逻辑回归 1.逻辑函数 sigmoid函数就出现了.这个函数的定义如下: sigmoid函数具有我们需要的一切优美特性,其定义域在全体实数,值域在[0, 1]之间,并且在0点值为0.5. 那么,如何将 ...

  5. CentOS7桌面版系统使用的一些小技巧

    1. 清空~/.kde/ 文件下的文件,登陆后不显示桌面的解决方法 在使用CentOS7 桌面系统时,有时候打开文件会很卡.这时我们需要清空当前用户下的 .kde 文件下的所有文件. 再重新登陆该用户 ...

  6. 使用Crawler框架搭建自己的爬虫框架MyCrawler

    自己写一个爬虫框架的目的: 完美架构 在实际的数据采集编码过程中,发现代码比较乱,抓取数据,存储数据的代码混杂在一起,为了构建比较完美的数据采集框架 敏捷开发 将数据采集进行标准流程化,每个标准流程都 ...

  7. 「快速傅里叶变换(FFT)」学习笔记

    FFT即快速傅里叶变换,离散傅里叶变换及其逆变换的快速算法.在OI中用来优化多项式乘法. 本文主要目的是便于自己整理.复习 FFT的算法思路 已知两个多项式的系数表达式,要求其卷积的系数表达式. 先将 ...

  8. Django_rest framework 框架介绍

    restful介绍  restful协议 一切皆是资源,操作只是请求方式 URL 设计 原先的URL设计方式 在url 中体现出操作行为 /books/ books /books/add/ addbo ...

  9. linux服务器上,yum、rpm、源码编译安装及卸载

    源码的编译安装及卸载 源码安装三部曲 1.生成makefile编译文件./configure 一般安装包下面都有一个configure文件,用来生成makefile编译文件常用的参数: --prefi ...

  10. tar.gz,直接解压可用?还是需要编译安装?

    在linux搭建环境,下载的tar.gz安装包,有的直接解压就可以用,有的需要编译安装后才可用 怎么知道该怎么操作呢? 其实,tar -zxvf解压后,进入目录看README.md就知道答案了 另外, ...