Thumbnails
点击打开原文链接
jar
<dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.8</version></dependency>
读取图片源,设置生成文件位置
import java.io.File;
import java.io.IOException;import org.junit.Test;import net.coobird.thumbnailator.Thumbnails;public class ThumbTest {@Testpublic void testHandlePicture() throws IOException {File fromPic = new File("E:/pic/测试图片1024px-768px.jpg");//目标图片位置-图片源File toPic = new File("E:/pic/缩小的图片.jpg"); //生成文件位置File waterPic=new File("picture/水印图片.jpg"); //作为水印的图片
注意:以上代码程序未结束,由下边粘贴代码不断追加
按指定大小把图片进行缩放(会遵循原图高宽比例)
//按指定大小把图片进行缩和放(会遵循原图高宽比例)
//此处把图片压成400×500的缩略图
Thumbnails.of(fromPic).size(400,500).toFile(toPic);//变为400*300,遵循原图比例缩或放到400*某个高度
按照指定比例进行缩小和放大
//按照比例进行缩小和放大
Thumbnails.of(fromPic).scale(0.2f).toFile(toPic);//按比例缩小
Thumbnails.of(fromPic).scale(2f);//按比例放大
按指定的大小进行缩放(不遵循原图比例)
//不按比例,就按指定的大小进行缩放
Thumbnails.of(fromPic).size(100, 100).keepAspectRatio(false).toFile(toPic);
//或者Thumbnails.of(fromPic).forceSize(100,100).toFile(toPic);
图片尺寸不变,压缩图片文件大小
//图片尺寸不变,压缩图片文件大小outputQuality实现,参数1为最高质量
Thumbnails.of(fromPic).scale(1f).outputQuality(0.25f).toFile(toPic);
给图片加水印
//给图片加水印,watermark(位置,水印图,透明度)Positions.CENTER表示加在中间
Thumbnails.of(fromPic).size(400,400)
.watermark(Positions.CENTER,ImageIO.read(waterPic),0.5f)
.outputQuality(0.8f).toFile(toPic);
转换图片格式
//用outputFormat(图像格式)转换图片格式,保持原尺寸不变
Thumbnails.of(fromPic).scale(1f).outputFormat("png")
.toFile("picture/png格式的图片.png");
输出成文件流OutputStream
//输出成文件流OutputStream
OutputStream os=new FileOutputStream(toPic);
Thumbnails.of(fromPic).size(120,120).toOutputStream(os);
输出成BufferedImage
//输出BufferedImage,asBufferedImage()返回BufferedImage
BufferedImage bi=Thumbnails.of(fromPic).size(120,120).asBufferedImage();
ImageIO.write(bi,"jpg",toPic);
//压缩至指定图片尺寸(例如:横400高300),保持图片不变形,多余部分裁剪掉(这个是引的网友的代码)
BufferedImage image = ImageIO.read(fromPic);
Builder<BufferedImage> builder = null;
压缩至指定图片尺寸,保持图片不变形,多余部分裁剪掉
//压缩至指定图片尺寸(例如:横400高300),保持图片不变形,多余部分裁剪掉(这个是引的网友的代码)
BufferedImage image = ImageIO.read(fromPic);
Builder<BufferedImage> builder = null; int imageWidth = image.getWidth();
int imageHeitht = image.getHeight();
if ((float)300 / 400 != (float)imageWidth / imageHeitht) { if (imageWidth > imageHeitht) { image = Thumbnails.of(fromPic).height(300).asBufferedImage(); } else { image = Thumbnails.of(fromPic).width(400).asBufferedImage(); } builder = Thumbnails.of(image).sourceRegion(Positions.CENTER, 400, 300).size(400, 300);
} else { builder = Thumbnails.of(image).size(400, 300);
}
builder.outputFormat("jpg").toFile(toPic);
//scale 参数是浮点数,大于1表示放大,小于1表示缩小
//outputQuality 参数是浮点数,质量压缩,0-1之间
//keepAspectRatio 在调整尺寸时保持比例,默认为true,如果要剪裁到特定的比例,设置为false即可
*注意:scale、width|height、size三者不能同时共存,但必须要有一个
Thumbnails相关推荐
- java thumbnails 中心点_java Thumbnails 图片处理的使用
在后端开发的过程中,都逃不开与文件传输特别是图片的传输打交道,但是因为现在各种拍照设备发展越来越快,拍出的照片更是越来越清晰,但是照片文件的大小也是越来越大了,手机拍照小则2M大则30M这在网络传输过 ...
- 使用Thumbnails压缩或放大图片大小(java)
首先看下缩放图片的核心代码,其实只有一行而已 //ins表示ByteArrayInputStream形式的图片 //scale中的数据就是缩小或者放大的比例,比如小于1则表示压缩,大于1表示放大 // ...
- Android之获取手机上的图片和视频缩略图thumbnails
2019独角兽企业重金招聘Python工程师标准>>> [0]大家都知道Android从1.5开始刚插入SD卡时系统会调用MediaScanner服务进行后台扫描,索引新的歌曲.图片 ...
- linux下的c语言mysql编程,详解java google Thumbnails 图片处理
在后端开发的过程中,都逃不开与文件传输特别是图片的传输打交道,但是因为现在各种拍照设备发展越来越快,拍出的照片更是越来越清晰,但是照片文件的大小也是越来越大了,手机拍照小则2M大则30M这在网络传输过 ...
- No Thumbnails for Custom Picture Library Definition
From:http://www.novolocus.com/2009/05/21/no-thumbnails-for-custom-picture-library-definition/ No Th ...
- Copy and Paste GAN: Face Hallucination from Shaded Thumbnails
Copy and Paste GAN: Face Hallucination from Shaded Thumbnails 2020 CVPR 1.引言 2.网络结构 3.损失函数 4.实验结果 与最 ...
- google之Thumbnails图片等比压缩,保持图片清晰
maven之pom.xml依赖 <dependency><groupId>net.coobird</groupId><artifactId>thumbn ...
- 【技术贴】解决相册thumbnails文件过大 小米缩略图缓存根除办法
命令:cd.> I:\DCIM\.thumbnails I为你的小米插到电脑上的usb的盘符,进到你的usb里面的此文件夹中,删除.thumbnails文件夹,然后把上面的命令右键复制,然后再c ...
- 浅谈Thumbnails压缩gif图片质量的实现方式
Thumbnails是一个比较大众的图片处理工具,类似的工具还有hutool,可以对图片进行裁剪.缩放.旋转.格式转换.水印等.然而它只提供单张图片的压缩,对于gif的压缩,却是需要我们自己去处理. ...
- [经验技巧] 完美解决小米DCIM文件夹下生成.thumbnails缩略图文件夹的方法
http://www.miui.com/thread-1005989-1-1.html .thumbnails的文件随着时间发展会变的超级大,是它里面的.thumbdata3--1967290299文 ...
最新文章
- 在预测心脏病和中风这件事上,AI又超过了人类医生(附论文)
- 人工智能一定要用python吗_学人工智能一定要学Python吗?
- 手机芯片三国杀:高通、联发科、展讯都想成霸主
- H.264基础知识及视频码流解析
- MRAppMaster详细分析
- php upload 缓存_php-使用vich_uploader的liip_imagine无法创建缓存
- CF1067D Computer Game
- 点击pv转化率_互联网中一些常用指标(PV、UV、蹦失率、转换率、退出率)
- android 关于报错SecurityException revoked permission android.permission.CAMERA
- 工业制造中的大数据分析应用_工业大数据分析方案-美林数据
- Vue组件通信:父传子、子传父、跨组件通信
- 给kvm虚机开放对外访问的端口
- 谷歌浏览器Chrome错误提示Flash过期怎么办(转)
- 阿里云服务器购买折扣优惠券及注意事项
- Some useful linux commands
- 新视野大学英语4-UNIT4-Expression in use
- (转)我奋斗了十八年不是为了和你一起喝杯咖啡
- c语言 猜数字小游戏
- 云计算与云原生 — Docker 容器技术完全解析
- mac date命令详解
热门文章
- php smarty {php},PHP Smarty模板
- java计算机毕业设计Web企业客户管理系统MyBatis+系统+LW文档+源码+调试部署
- webservice Connection timed out
- Guitar Pro 8.1 重磅发布!Guitar Pro 2022 的全新功能介绍
- 安装双系统(win10+ubuntu)教程及遇到的相关问题汇总
- PyQt5 menu菜单栏设置
- 前方高能!12年高级工程师的“飞升之路”,带你碾压面试官!
- 关于CentOS中jdk配置版本不一致的问题
- 红外模块android驱动添加
- (转载)迁移学习概述