iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么java中使用Thumbnails对图片进行处理
  • 742
分享到

怎么java中使用Thumbnails对图片进行处理

2023-06-08 01:06:32 742人浏览 八月长安
摘要

这篇文章给大家介绍怎么java中使用Thumbnails对图片进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Thumbnails支持:指定大小进行缩放按照比例进行缩放不按照比例,指定大小进行缩放旋转水印裁剪转化

这篇文章给大家介绍怎么java中使用Thumbnails对图片进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Thumbnails支持:

  • 指定大小进行缩放

  • 按照比例进行缩放

  • 不按照比例,指定大小进行缩放

  • 旋转

  • 水印

  • 裁剪

  • 转化图像格式

  • 输出到OutputStream

  • 输出到BufferedImage

  • 输出到ByteArrayOutputStream(OutputStream)

  • 输出到ByteArrayInputStream(InputStream)

  • 输出到byte[]

Thumbnails导入依赖

<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version></dependency>

一,指定大小进行缩放

//size(宽度, 高度)   Thumbnails.of("images/a380_1280x1024.jpg")  .size(200, 300)  .toFile("c:/a380_200x300.jpg");  Thumbnails.of("images/a380_1280x1024.jpg")  .size(2560, 2048)  .toFile("c:/a380_2560x2048.jpg");

二,单个图片等比例缩放

File file = new File("c:\\test.png"); Thumbnails.of(new FileInputStream(file)).scale(3.0).toFile(new File("c:\\yyyyy.png"));

0是一个double类型的数字,缩放比例,大于1就是变大,小于1就是缩小

三,不按照比例,指定大小进行缩放

//keepAspectRatio(false) 默认是按照比例缩放的 Thumbnails.of("images/a380_1280x1024.jpg")  .size(200, 200)  .keepAspectRatio(false)  .toFile("c:/a380_200x200.jpg");

四,批量产生缩略图

Thumbnails.of(new File("D:\\pics").listFiles()).scale(0.2).outputFORMat("png") .toFiles(Rename.PREFIX_DOT_THUMBNAIL);

五,控制图片质量,图片尺寸不变

File fromPic = new File("C:\\Users\\Administrator\\Desktop\\IdCardPositive_987136936_1531741954688.jpeg");File toPic =new File("C:\\Users\\Administrator\\Desktop\\IdCardPositive_987136936_08.jpeg");Thumbnails.of(fromPic).scale(1f).outputQuality(0.25f).toFile(toPic);

outputQuality就是用来控制图片质量的

六,给图片加水印

Thumbnails.of(fromPic).scale(0.8) .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(waterPic), 0.5f) .outputQuality(0.8f).toFile(toPic); //watermark(位置,水印图,透明度) Thumbnails.of("images/a380_1280x1024.jpg")  .size(1280, 1024)  .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("images/watermark.png")), 0.5f)  .outputQuality(0.8f)  .toFile("c:/a380_watermark_bottom_right.jpg");  Thumbnails.of("images/a380_1280x1024.jpg")  .size(1280, 1024)  .watermark(Positions.CENTER, ImageIO.read(new File("images/watermark.png")), 0.5f)  .outputQuality(0.8f)  .toFile("c:/a380_watermark_center.jpg");

fromPic是原图,waterPic是水印图片,toPic是生成后的图片

七,旋转图片

Thumbnails.of(fromPic).scale(0.5).rotate(90).toFile(toPic);

八,图片裁剪

Thumbnails.of(fromPic).sourceRegion(Positions.CENTER, 300, 300).scale(1.0).toFile(toPic); //sourceRegion()  //图片中心400*400的区域 Thumbnails.of("images/a380_1280x1024.jpg")  .sourceRegion(Positions.CENTER, 400,400)  .size(200, 200)  .keepAspectRatio(false)  .toFile("c:/a380_region_center.jpg");  //图片右下400*400的区域 Thumbnails.of("images/a380_1280x1024.jpg")  .sourceRegion(Positions.BOTTOM_RIGHT, 400,400)  .size(200, 200)  .keepAspectRatio(false)  .toFile("c:/a380_region_bootom_right.jpg");  //指定坐标 Thumbnails.of("images/a380_1280x1024.jpg")  .sourceRegion(600, 500, 400, 400)  .size(200, 200)  .keepAspectRatio(false)  .toFile("c:/a380_region_coord.jpg");

九,WEB输出流图片

某些应用上传的图片可能质量比较高,但是用户在列表浏览的时候,又不想原图展示,因为带宽要求较高,此时可以降低图片质量(上面提到的outputQuality),以outputstream输出流的方式response给浏览器去展示

@RequestMapping("/getImages") public void getImages(httpservletRequest request, HttpServletResponse response) throws IOException { Thumbnails.of("images/a380_1280x1024.jpg").  scale(1f).  outputQuality(0.5f).  outputFormat("jpg").toOutputStream(response.getOutputStream()); }

十,图像的格式转换

//outputFormat(图像格式) Thumbnails.of("images/a380_1280x1024.jpg")  .size(1280, 1024)  .outputFormat("png")  .toFile("c:/a380_1280x1024.png");  Thumbnails.of("images/a380_1280x1024.jpg")  .size(1280, 1024)  .outputFormat("gif")  .toFile("c:/a380_1280x1024.gif");

十一,输出到BufferedImage

//asBufferedImage() 返回BufferedImage BufferedImage thumbnail = Thumbnails.of("images/a380_1280x1024.jpg")  .size(1280, 1024)  .asBufferedImage();  ImageIO.write(thumbnail, "jpg", new File("c:/a380_1280x1024_BufferedImage.jpg"));

十二,输出到ByteArrayOutputStream(OutputStream)

ByteArrayOutputStream thumbnailOutputStream = new ByteArrayOutputStream();Thumbnails.of("images/a380_1280x1024.jpg").   scale(1f).   outputQuality(0.5f).   outputFormat("jpg").toOutputStream(thumbnailOutputStream);

十三,输出到ByteArrayInputStream(InputStream)

ByteArrayOutputStream thumbnailOutputStream = new ByteArrayOutputStream();Thumbnails.of("images/a380_1280x1024.jpg").   scale(1f).   outputQuality(0.5f).   outputFormat("jpg").toOutputStream(thumbnailOutputStream);ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(thumbnailOutputStream.toByteArray());

十三,输出到byte[]

ByteArrayOutputStream handlerOutputStream = new ByteArrayOutputStream();  Thumbnails.of(inputStream).   scale(1f).   outputQuality(0.25f).   outputFormat("jpg").toOutputStream(handlerOutputStream);byte[] bytes = handlerOutputStream.toByteArray();

关于怎么java中使用Thumbnails对图片进行处理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么java中使用Thumbnails对图片进行处理

本文链接: https://www.lsjlt.com/news/250681.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么java中使用Thumbnails对图片进行处理
    这篇文章给大家介绍怎么java中使用Thumbnails对图片进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Thumbnails支持:指定大小进行缩放按照比例进行缩放不按照比例,指定大小进行缩放旋转水印裁剪转化...
    99+
    2023-06-08
  • 使用Canvas怎么对图片进行处理
    这篇文章给大家介绍使用Canvas怎么对图片进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、主要API整个流程中所用到的主要Canvas API有:绘制图像: drawImage()获取图像数据: getIm...
    99+
    2023-06-09
  • Nginx中怎么对图片进行处理
    本篇文章给大家分享的是有关Nginx中怎么对图片进行处理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Nginx图片处理一个网管员必备的数据处...
    99+
    2024-04-02
  • Java 中如何对图片进行压缩处理
    问题背景 图片过大时,会造成页面卡顿甚至于报错,而且现在页面,接口,很多地儿都有报文传输的最大限制要求,另外不知道各位有没有遇到过页面渲染比较大的 base64 图片时,会非常的卡顿。所以,我们必须对用户上传的原始图片进行压缩处理。 为何...
    99+
    2023-08-31
    java 开发语言 压缩图片
  • Android中怎么对图片进行圆角处理
    本篇文章给大家分享的是有关Android中怎么对图片进行圆角处理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。方法一:setXfermode法此种方式就是再new一个相同尺寸的...
    99+
    2023-05-31
    android roi %d
  • 如何使用PHP对图片进行处理和操作?
    随着互联网的不断发展,图片已经成为人们在网上交流和传播信息的重要媒介。对于网站开发人员而言,对图片进行处理和操作是十分必要的。在众多的程序设计语言中,PHP是一门十分流行的语言,本文将介绍如何使用PHP对图片进行处理和操作。一、图片上传在网...
    99+
    2023-05-21
    PHP 图片处理 图片操作
  • 使用canvas怎么对图片进行压缩
    本篇文章为大家展示了使用canvas怎么对图片进行压缩,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前提的函数将file文件转化为base64function changeFileToBa...
    99+
    2023-06-09
  • android开发中如何对图片进行处理
    这篇文章给大家介绍android开发中如何对图片进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。创建一个Java类CircleImageView把下面的代码复制过去,报错的导包package de.hdodenh...
    99+
    2023-05-31
    android roi
  • laravel 使用 Intervention/image 进行图片处理
    1.安装 使用Composer在命令行安装最新版本的Intervention Image: composer require intervention/image 2.集成到Laravel 安装好Intervention Image后,打开...
    99+
    2023-09-06
    laravel php
  • Android应用中怎么对图片进行压缩
    Android应用中怎么对图片进行压缩?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。为何要压缩体积的原因如果你的图片是要准备上传的,那动辄几M的大小肯定不行的,况且图片分辨率大...
    99+
    2023-05-31
    android roi
  • 怎么使用python对图片进行批量压缩
    本篇内容主要讲解“怎么使用python对图片进行批量压缩”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python对图片进行批量压缩”吧!使用Python和Pillow模块压缩图片Pil...
    99+
    2023-07-02
  • 利用java怎么对图片进行压缩与缩放
    这篇文章将为大家详细讲解有关利用java怎么对图片进行压缩与缩放,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。压缩public static boolean c...
    99+
    2023-05-31
    java ava
  • 怎么用JAVA对彩色图片进行灰度变换
    这篇文章主要介绍“怎么用JAVA对彩色图片进行灰度变换”,在日常操作中,相信很多人在怎么用JAVA对彩色图片进行灰度变换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用JAVA对彩色图片进行灰度变换”的疑...
    99+
    2023-06-03
  • Java中怎么对日期类进行处理
    今天就跟大家聊聊有关Java中怎么对日期类进行处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体如下:import java.text.ParseException;import...
    99+
    2023-05-31
    java ava 进行处理
  • 如何在Android中利用ImageView.src对图片进行拉伸处理
    如何在Android中利用ImageView.src对图片进行拉伸处理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方法如下:<LinearLayout andro...
    99+
    2023-05-31
    imageview android age
  • HTML 5中怎么利用canvas对图像进行处理
    这篇文章将为大家详细讲解有关HTML 5中怎么利用canvas对图像进行处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。下面就介绍一个简单的例子:<...
    99+
    2024-04-02
  • 使用Python怎么对Excel进行处理
    本篇文章为大家展示了使用Python怎么对Excel进行处理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本...
    99+
    2023-06-07
  • 怎么对图片进行SEO优化
    这篇文章主要介绍了怎么对图片进行SEO优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。怎么让搜索引擎更好的识别图片内容呢?能让搜索引擎识别图片的内容,最好的方法就是加上一个...
    99+
    2023-06-13
  • 怎么在python中对图像进行灰度处理
    本篇文章给大家分享的是有关怎么在python中对图像进行灰度处理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的优点有哪些1、简单易用,与C/C++、Java、C#...
    99+
    2023-06-14
  • linux中使用Python对图片进行批量命名
    在linux中使用Python对图片进行批量命名 大家在进行机器学习训练时,为了方便管理不同种类的图片,需要对同一类图片进行批量命名。 1 picture文件夹有大量照片,我们需要对...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作