`
yhhazr
  • 浏览: 47663 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类
最新评论

Java生成缩略图Thumbnailator(转载)

阅读更多

转至:http://rensanning.iteye.com/blog/1545708

 

Thumbnailator 是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且 允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量生成缩略图。

http://code.google.com/p/thumbnailator/

版本:thumbnailator-0.4.2.jar

原图如下:



1、指定大小进行缩放

Java代码  收藏代码
  1. //size(宽度, 高度)   
  2.   
  3. /*    
  4.  * 若图片横比200小,高比300小,不变    
  5.  * 若图片横比200小,高比300大,高缩小到300,图片比例不变    
  6.  * 若图片横比200大,高比300小,横缩小到200,图片比例不变    
  7.  * 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300    
  8.  */    
  9. Thumbnails.of("images/a380_1280x1024.jpg" )   
  10.         .size(200 300 )  
  11.         .toFile("c:/a380_200x300.jpg" );  
  12.   
  13. Thumbnails.of("images/a380_1280x1024.jpg" )   
  14.         .size(2560 2048 )   
  15.         .toFile("c:/a380_2560x2048.jpg" );  



2、按照比例进行缩放

Java代码  收藏代码
  1. //scale(比例)   
  2. Thumbnails.of("images/a380_1280x1024.jpg" )   
  3.         .scale(0 .25f)  
  4.         .toFile("c:/a380_25%.jpg" );  
  5.   
  6. Thumbnails.of("images/a380_1280x1024.jpg" )   
  7.         .scale(1 .10f)  
  8.         .toFile("c:/a380_110%.jpg" );  



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

Java代码  收藏代码
  1. //keepAspectRatio(false) 默认是按照比例缩放的   
  2. Thumbnails.of("images/a380_1280x1024.jpg" )   
  3.         .size(200 200 )   
  4.         .keepAspectRatio(false )   
  5.         .toFile("c:/a380_200x200.jpg" );  



4、旋转

Java代码  收藏代码
  1. //rotate(角度),正数:顺时针 负数:逆时针   
  2. Thumbnails.of("images/a380_1280x1024.jpg" )   
  3.         .size(1280 1024 )  
  4.         .rotate(90 )   
  5.         .toFile("c:/a380_rotate+90.jpg" );   
  6.   
  7. Thumbnails.of("images/a380_1280x1024.jpg" )   
  8.         .size(1280 1024 )  
  9.         .rotate(-90 )   
  10.         .toFile("c:/a380_rotate-90.jpg" );   




5、水印

Java代码  收藏代码
  1. //watermark(位置,水印图,透明度)   
  2. Thumbnails.of("images/a380_1280x1024.jpg" )   
  3.         .size(1280 1024 )  
  4.         .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new  File( "images/watermark.png" )),  0 .5f)   
  5.         .outputQuality(0 .8f)   
  6.         .toFile("c:/a380_watermark_bottom_right.jpg" );  
  7.   
  8. Thumbnails.of("images/a380_1280x1024.jpg" )   
  9.         .size(1280 1024 )  
  10.         .watermark(Positions.CENTER, ImageIO.read(new  File( "images/watermark.png" )),  0 .5f)   
  11.         .outputQuality(0 .8f)   
  12.         .toFile("c:/a380_watermark_center.jpg" );  




6、裁剪

Java代码  收藏代码
  1. //sourceRegion()   
  2.   
  3. //图片中心400*400的区域   
  4. Thumbnails.of("images/a380_1280x1024.jpg" )  
  5.         .sourceRegion(Positions.CENTER, 400 , 400 )  
  6.         .size(200 200 )  
  7.         .keepAspectRatio(false )   
  8.         .toFile("c:/a380_region_center.jpg" );  
  9.   
  10. //图片右下400*400的区域   
  11. Thumbnails.of("images/a380_1280x1024.jpg" )  
  12.         .sourceRegion(Positions.BOTTOM_RIGHT, 400 , 400 )  
  13.         .size(200 200 )  
  14.         .keepAspectRatio(false )   
  15.         .toFile("c:/a380_region_bootom_right.jpg" );  
  16.   
  17. //指定坐标   
  18. Thumbnails.of("images/a380_1280x1024.jpg" )  
  19.         .sourceRegion(600 500 400 400 )  
  20.         .size(200 200 )  
  21.         .keepAspectRatio(false )   
  22.         .toFile("c:/a380_region_coord.jpg" );  




7、转化图像格式

Java代码  收藏代码
  1. //outputFormat(图像格式)   
  2. Thumbnails.of("images/a380_1280x1024.jpg" )   
  3.         .size(1280 1024 )  
  4.         .outputFormat("png" )   
  5.         .toFile("c:/a380_1280x1024.png" );   
  6.   
  7. Thumbnails.of("images/a380_1280x1024.jpg" )   
  8.         .size(1280 1024 )  
  9.         .outputFormat("gif" )   
  10.         .toFile("c:/a380_1280x1024.gif" );   



8、输出到OutputStream

Java代码  收藏代码
  1. //toOutputStream(流对象)   
  2. OutputStream os = new  FileOutputStream( "c:/a380_1280x1024_OutputStream.png" );  
  3. Thumbnails.of("images/a380_1280x1024.jpg" )   
  4.         .size(1280 1024 )  
  5.         .toOutputStream(os);  



9、输出到BufferedImage

Java代码  收藏代码
  1. //asBufferedImage() 返回BufferedImage   
  2. BufferedImage thumbnail = Thumbnails.of("images/a380_1280x1024.jpg" )   
  3.         .size(1280 1024 )  
  4.         .asBufferedImage();  
  5. ImageIO.write(thumbnail, "jpg" new  File( "c:/a380_1280x1024_BufferedImage.jpg" ));  
分享到:
评论

相关推荐

    Java开源图片框架thumbnailator-0.4.8.jar

    **Java开源图片框架thumbnailator-0.4.8.jar** 是一个专为Java开发者设计的高效、高质量的图片处理库,特别适用于生成缩略图。这个框架提供了丰富的功能,使得在Java应用程序中处理图片变得更加简单。thumbnailator...

    ThumbNailator缩略图生成实验

    同时,我们也会学习到图像处理库在生成缩略图时的关键技术和最佳实践。 首先,JSP是Java平台上的服务器端脚本语言,用于创建动态、交互式的Web应用程序。JSP页面由HTML、CSS、JavaScript以及嵌入其中的Java代码组成...

    thumbnailator java用于图片压缩 生成缩略图 添加水印等

    thumbnailator(包括jar包跟api) java用于图片压缩 生成缩略图 添加水印等 这是我见过最好的压缩工具了 使用方法: Thumbnails.of(new File("path/to/directory").listFiles()) .size(640, 480) .outputFormat(...

    java缩略图jar包

    在Java编程中,生成缩略图通常涉及到复杂的图像处理算法,包括图像重采样、比例调整、颜色空间转换等。thumbnailator库通过封装这些复杂操作,使得开发者只需要几行代码就能完成缩略图的创建。下面我们将深入探讨...

    java图片压缩文件大小thumbnailator-0.4.8.jar.zip

    java图片压缩文件thumbnailator-0.4.8.jar.zip Thumbnailator是一个用来对图像进行处理以及缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。有了它我们就不用在费...

    java处理图片,缩略图,添加水印,格式转换,Thumbnailator

    7. **自定义操作**:Thumbnailator允许你在生成缩略图的过程中添加自定义操作,如调整饱和度、亮度等。 总之,Thumbnailator是Java开发者处理图像的强大工具,其简洁的API和丰富的功能使得图像处理变得简单易行。...

    Java缩略图生成库之Thumbnailator应用说明

    Thumbnailator 是一个专为 Java 平台设计的高效且易于使用的图像处理库,尤其适用于生成缩略图。该库通过其简洁的 API 设计,极大地简化了从图像文件和图像对象创建缩略图的过程。只需要几行代码,用户就可以轻松...

    Thumbnailator-0.2.6

    "Thumbnailator-0.2.6"是一个专门用于生成缩略图的Java包,它为开发者提供了一个简单且高效的API,只需几行代码即可快速实现缩略图的创建。这个开源项目深受Java开发者欢迎,因为其强大的功能和易用性。 **一、...

    生成图片缩略图Jar包

    本文将详细介绍一个名为Thumbnailator的Java库,它是用于生成图片缩略图的强大工具,并讲解如何在项目中使用。 Thumbnailator是一个开源的Java库,专门设计用来创建、编辑和转换图像。它具有高度的灵活性和易用性...

    thumbnailator入门教程

    同时,`Java生成缩略图之Thumbnailator指定大小进行缩放_files`目录可能包含运行示例代码所需的资源文件。 总的来说,thumbnailator是一个强大的Java库,可以帮助开发者轻松实现图像处理任务,特别是生成高质量的...

    thumbnailator:Thumbnailator-Java的缩略图生成库

    Thumbnailator是Java的缩略图生成库。 为什么选择Thumbnailator? 用Java制作高质量的缩略图可能是一项相当困难的任务。 学习如何使用图像I / O API,Java 2D API,图像处理,图像缩放技术,但不要担心! ...

    Thumbnailator.jar

    总的来说,Thumbnailator是一个强大且灵活的Java图像处理库,尤其在生成缩略图方面表现卓越。其简洁的API、丰富的功能和出色的性能,使得它成为Java开发者的首选工具之一。无论是在网站开发、桌面应用还是移动应用中...

    thumbnailator图片处理包JAVA

    "thumbnailator图片处理包JAVA"是一个专门为Java开发者设计的库,用于方便地创建、修改和转换图像,尤其是生成缩略图。thumbnailator以其高效、易用和灵活性著称,是许多Java项目中处理图像需求的理想选择。这个...

    为Java界面更流畅的缩略图生成库

    Thumbnailator 是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,且允许微调缩略图生成,同时保持了需要写入到...同时还支持根据一个目录批量生成缩略图。里面有doc

    thumbnailator所需jar包.zip

    总的来说,thumbnailator是一个强大的Java图像处理库,特别适合用于生成缩略图。它不仅功能全面,而且易于使用,是Java开发者在处理图像任务时的理想选择。通过这个压缩包,你可以轻松地在项目中集成thumbnailator,...

    google图片处理工具thumbnailator-0.4.8.jar

    1. **缩略图生成**:thumbnailator的最基本功能就是生成缩略图。通过`Thumbnails.of()`方法,可以轻松地读取图片文件并创建缩略图。用户可以指定缩略图的宽度和高度,库会自动保持原始图片的比例。 2. **尺寸调整**...

    thumbnailator-0.4.8和说明

    `thumbnailator-0.4.8` 是一个用于创建、修改和转换图像的Java库,尤其适用于生成缩略图。这个库提供了简单易用的API,使得开发者在处理图像时可以更加高效。在这个压缩包中,包含的是 `thumbnailator-0.4.8.jar` ...

    Thumbnailator

    从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量生成缩略图。

    PicService_java_thumbnailator_

    在Java开发中,图片处理是一项常见的任务,包括但不限于图片压缩、缩略图生成、裁剪等操作。在本项目中,我们使用了`thumbnailator`这个库来实现这些功能。`thumbnailator`是一个轻量级的Java库,专门用于创建图片的...

    thumbnailator-0.4.8-all.rar

    《thumbnailator-0.4.8-all.rar》压缩包中包含的是thumbnailator库的0.4.8版本,这是一个在Java环境中广泛使用的图像处理库,主要用于生成缩略图和其他图像操作。下面将详细介绍thumbnailator库及其核心功能。 ...

Global site tag (gtag.js) - Google Analytics