Thumbnails的使用

Thumbnails的使用因为项目需要做一个图片的微服务 用到了 mongoDB springboot springCloud 等 其中因为需要对图片做处理 查看资料看到 Thumbnails 于是 对 Thumbnails 的功能做了一些简单的使用 这是两张原图 及路径 publicstatic throwsIOExce Filefile newFile

因为项目需要做一个图片的微服务,用到了mongoDB,springboot,springCloud,等。其中因为需要对图片做处理。查看资料看到Thumbnails,于是,对Thumbnails的功能做了一些简单的使用。

这是两张原图,及路径。

Thumbnails的使用

Thumbnails的使用

 public static void test2() throws IOException{ File file = new File("E:/图像/juan_/test_s/juan_yts1.jpg"); // 指定坐标 Thumbnails.of(file).sourceRegion(3850, 1500, 600, 2000).size( 600, 2000).keepAspectRatio(false).toFile( "E:/图像/juan_/test_c/juan_backup20.jpg"); } 

Thumbnails的使用

这是裁剪过后的图片

Thumbnails的使用

 

private static void test1() throws FileNotFoundException, IOException{ File file = new File("E:/图像/juan_/test_s/xifu_66.jpg"); //scale0.3是一个double类型的数字,缩放比例,大于1就是变大,小于1就是缩小 //Thumbnails.of(new FileInputStream(file)).scale(0.3).toFile(new File("E:/图像/juan_/juan_buck.jpg")); //按照比例进行缩放 Thumbnails.of(file).scale(0.25f).toFile("E:/图像/juan_/test_c/juan_backup1.jpg"); Thumbnails.of(file).scale(1.10f).toFile("E:/图像/juan_/test_c/juan_backup2.jpg"); //指定大小进行缩放 Thumbnails.of(file).size(200, 300).toFile("E:/图像/juan_/test_c/juan_backup3.jpg"); Thumbnails.of(file).size(2560, 2048).toFile("E:/图像/juan_/test_c/juan_backup4.jpg"); //旋转 Thumbnails.of(file).size(1280, 1024).rotate(90).toFile("E:/图像/juan_/test_c/juan_backup5.jpg"); Thumbnails.of(file).size(1280, 1024).rotate(-90).toFile("E:/图像/juan_/test_c/juan_backup6.jpg"); / * 不按照比例,指定大小进行缩放 * keepAspectRatio(false) 默认是按照比例缩放的 */ Thumbnails.of(file).size(120, 120).keepAspectRatio(false).toFile("E:/图像/juan_/test_c/juan_backup7.jpg"); // 水印 watermark(位置,水印图,透明度) Thumbnails.of(file).size(1280, 1024).watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("E:/图像/juan_/test_c/juan_backup20.jpg")), 0.5f) .outputQuality(0.8f).toFile("E:/图像/juan_/test_c/juan_backup8.jpg"); Thumbnails.of(file).size(1280, 1024).watermark( Positions.CENTER, ImageIO.read(new File("E:/图像/juan_/test_c/juan_backup20.jpg")), 0.5f) .outputQuality(0.8f).toFile("E:/图像/juan_/test_c/juan_backup9.jpg"); //裁剪 // 图片中心400*400的区域 Thumbnails.of(file).sourceRegion(Positions.CENTER, 400, 400).size(200, 200).keepAspectRatio(false).toFile( "E:/图像/juan_/test_c/juan_backup10.jpg"); // 图片右下400*400的区域 Thumbnails.of(file).sourceRegion(Positions.BOTTOM_RIGHT, 400, 400).size(200, 200).keepAspectRatio(false).toFile( "E:/图像/juan_/test_c/juan_backup11.jpg"); // 指定坐标 Thumbnails.of(file).sourceRegion(600, 500, 400, 400).size( 200, 200).keepAspectRatio(false).toFile( "E:/图像/juan_/test_c/juan_backup12.jpg"); //转化图像格式 / * outputFormat(图像格式) */ Thumbnails.of(file).size(1280, 1024).outputFormat("jpeg") .toFile("E:/图像/juan_/test_c/juan_backup13.jpeg"); Thumbnails.of(file).size(1280, 1024).outputFormat("gif") .toFile("E:/图像/juan_/test_c/juan_backup14.gif"); Thumbnails.of(file).size(1280, 1024).outputFormat("jpg") .toFile("E:/图像/juan_/test_c/juan_backup15.jpg"); Thumbnails.of(file).size(1280, 1024).outputFormat("bmp") .toFile("E:/图像/juan_/test_c/juan_backup16.bmp"); //输出到OutputStream //toOutputStream(流对象) OutputStream os = new FileOutputStream( "E:/图像/juan_/test_c/juan_backup17.jpg"); Thumbnails.of(file).size(1280, 1024).toOutputStream(os); // 输出到BufferedImage / * asBufferedImage() 返回BufferedImage */ BufferedImage thumbnail = Thumbnails.of(file).size(1280, 1024).asBufferedImage(); ImageIO.write(thumbnail, "jpg", new File( "E:/图像/juan_/test_c/juan_backup18.jpg")); }

 

Thumbnails的使用

 

水印Thumbnails的使用

package test; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.UUID; import javax.imageio.ImageIO; import net.coobird.thumbnailator.Thumbnails; import net.coobird.thumbnailator.Thumbnails.Builder; import net.coobird.thumbnailator.geometry.Positions; public class LiunnTest { private static final float PIC_SIZE = 500 * 1024; public static void main(String[] args) throws FileNotFoundException, IOException { // TODO Auto-generated method stub test1(); }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212515.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午7:52
下一篇 2026年3月18日 下午7:53


相关推荐

  • java 反射 get方法_java反射调用方法

    java 反射 get方法_java反射调用方法I’mworkingwiththebasicsofJavareflectionandobservinginformationonmethodsofclasses.IneedtogetamethodthatmatchesspecificationsasdescribedbythegetMethod()function.However,…

    2026年2月22日
    3
  • linux设置node环境变量,Linux 安装最新 Node.js 并配置环境变量「建议收藏」

    linux设置node环境变量,Linux 安装最新 Node.js 并配置环境变量「建议收藏」今天准备在服务器上构建一个前端项目,我的服务器用的Linux是CentOS7,我通过Yum安装了Nodejs。在运行构建命令的时候出现了一堆错误信息,项目也无法成功构建,其中的一段错误信息如下:npmERR!Makesureyouhavethelatestversionofnode.jsandnpminstalled.我使用node-v查看了一下No…

    2022年6月3日
    144
  • ODT下载安装步骤「建议收藏」

    ODT下载安装步骤「建议收藏」ODT下载安装步骤

    2025年10月9日
    7
  • floyed详解[通俗易懂]

    floyed详解[通俗易懂]显然Floyed算法是一个简短而好理解的算法,这里指的好理解是因为Floyed的代码长度不大,实在没理解都可以背下来,所以说是好理解,实际上是真的好理解吗?我们来看看最基础的FloyedFloyed是什么?自然是用来求多源最短路的啦,时间效率是O(n^3),有人会问那我不对每个点做一遍SPFA或dijkstra堆优化,时间效率是O(n^2logn)那不是快很多?实际上因为Floyed

    2022年6月16日
    26
  • pandas groupby 用法详解

    pandas groupby 用法详解1.分组groupby在日常数据分析过程中,经常有分组的需求。具体来说,就是根据一个或者多个字段,将数据划分为不同的组,然后进行进一步分析,比如求分组的数量,分组内的最大值最小值平均值等。在sql中,就是大名鼎鼎的groupby操作。pandas中,也有对应的groupby操作,下面我们就来看看pandas中的groupby怎么使用。2.groupby的数据结构首先我们看如下代码defddd():levels=[“L1″,”L1″,”L1″,”L2″,”L2″,”L3”,

    2022年5月13日
    65
  • Memcache知识点梳理

    Memcache知识点梳理

    2021年8月17日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号