`
流浪鱼
  • 浏览: 1683056 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

生成缩列图的java工具类

    博客分类:
  • java
 
阅读更多

附件里边是生成缩列图的工具类,希望有用

代码如下:

/**
 * 生成缩略图类
 */
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;

public class ThumbnailGenerator {
	/**
	 * 转换图为缩略图
	 * @param originalFile  原图路径
	 * @param thumbnailFile 缩略图路径
	 * @param thumbWidth 缩略图宽度
	 * @param thumbHeight 缩略图高度
	 * @param quality 
	 * @throws Exception
	 */
	public void transform(String originalFile, String thumbnailFile, int thumbWidth, int thumbHeight, int quality) throws Exception 
	{
		Image image = javax.imageio.ImageIO.read(new File(originalFile));
	    
	    double thumbRatio = (double)thumbWidth / (double)thumbHeight;
	    int imageWidth    = image.getWidth(null);
	    int imageHeight   = image.getHeight(null);
	    double imageRatio = (double)imageWidth / (double)imageHeight;
	    if (thumbRatio < imageRatio) 
	    {
	    	thumbHeight = (int)(thumbWidth / imageRatio);
	    } 
	    else 
	    {
	      	thumbWidth = (int)(thumbHeight * imageRatio);
	    }
	    
		if(imageWidth < thumbWidth && imageHeight < thumbHeight)
		{
			thumbWidth = imageWidth;
			thumbHeight = imageHeight;
		}
		else if(imageWidth < thumbWidth)
			thumbWidth = imageWidth;
		else if(imageHeight < thumbHeight)
			thumbHeight = imageHeight;

	    BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
	    Graphics2D graphics2D = thumbImage.createGraphics();
	    graphics2D.setBackground(Color.WHITE);
    	graphics2D.setPaint(Color.WHITE); 
    	graphics2D.fillRect(0, 0, thumbWidth, thumbHeight);
	    graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
	    graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
	    
		javax.imageio.ImageIO.write(thumbImage, "JPG", new File(thumbnailFile));
	}
}

 

 

 

 

 

分享到:
评论

相关推荐

    java生成图片缩略图和二进制文件的工具类

    将图片生成缩略图和转换为二进制的工具类,缩略图大小可调

    java视频生成图片(缩略图)-实例-(指定时间)

    6. **Java bindings for FFmpeg:** 如果不希望通过命令行接口,还可以使用Java对FFmpeg的绑定库,如JAVE(Java Audio Video Encoder),它提供了一个友好的API来执行FFmpeg的任务,包括生成缩略图。 7. **处理步骤...

    java 生成缩略图

    在Java编程中,生成缩略图是一项常见的任务,特别是在处理图像处理、网页设计或移动应用开发时。这个任务涉及到读取原始图像,调整其尺寸,然后保存为较小的版本,即缩略图。在这个过程中,我们可以使用Java的内置库...

    jsp上传图片并生成缩略图

    在Java服务器页面(JSP)中,上传图片并生成缩略图是一项常见的需求,尤其在构建网站或Web应用时。这个过程涉及到多个步骤,包括文件上传、图片处理和存储。以下将详细介绍如何实现这一功能。 1. **文件上传**: -...

    java生成缩略图的方法示例

    Java 生成缩略图的方法示例 Java 生成缩略图是指使用 Java 语言生成缩略图的过程,这个过程中涉及到各种图形处理技巧。下面将详细介绍 Java 生成缩略图的方法示例。 图像处理基础 在 Java 中,图像处理是通过使用...

    java利用ffmpeg获取视频缩略图

    首先,ffmpeg是一个强大的命令行工具,它支持多种视频、音频格式的处理,包括转换、合并、剪辑以及生成缩略图等。在Java中使用ffmpeg,通常会通过调用系统命令或者使用第三方库如`Xuggle`或`ffmpeg-java`来实现。在...

    java上传图片,处理图片,word转pdf图片缩略图生成

    java上传图片,处理图片,word转pdf图片缩略图生成,替换所有图片的ip地址工具类

    java缩略图

    一个不错的工具类,上传的图片根据长宽的判断,按比例缩放生成另一张小图,可以减少浏览的浪费

    jSP上传图片生成缩略图

    "bianxiaotu"可能是用于生成缩略图的Java类或工具的名称,具体实现可能因项目而异,但核心思想与上述步骤一致。总的来说,这个任务结合了JSP页面交互、文件上传处理以及图像处理技术,是Web开发中的一个典型应用场景...

    pdfbox,生成pdf文件的缩略图

    在实际应用中,你可能需要对整个PDF文档的所有页面生成缩略图,并将它们保存在一个集合或目录中,以便在用户界面中展示。同时,为了提高性能,可以考虑使用多线程处理多个PDF文件的缩略图生成。 总结来说,PDFBox...

    java生成缩略图.zip

    在这个"java生成缩略图.zip"压缩包中,我们可能找到了一份Java源代码,用于演示如何在Java环境下创建图像的缩略图。 首先,我们要了解在Java中生成缩略图的关键概念和技术。Java的`java.awt.image`和`javax.imageio...

    Java中gif动图缩略图处理jar包

    这个jar包为开发者提供了一个方便的API来处理GIF图像的缩略图生成,使得在Java项目中实现这一功能变得更加简单。 GIF4J库的核心功能包括读取GIF文件、解析其帧信息、调整图像尺寸并重新组合成新的GIF文件。以下是...

    java 缩略图实现

    在Java编程中,生成缩略图是一项常见的任务,特别是在处理图像处理、网页设计或移动应用开发等领域。这个主题涉及到如何利用Java的APIs来创建图片的缩小版本,以节省存储空间,提高页面加载速度,或者优化用户体验。...

    java根据url抓取并生成缩略图的示例

    在Java编程中,生成缩略图是一项常见的任务,特别是在处理图像或者构建Web应用程序时。这个示例展示了如何根据一个URL抓取远程图像并将其转换为缩略图。下面将详细解释这段代码的工作原理和涉及的关键知识点。 首先...

    在windows使用FFmpeg获取视频缩略图的工具类

    本文将详细介绍如何在Windows上使用FFmpeg来生成视频缩略图,并提供一个简单的工具类示例。 首先,你需要下载FFmpeg的Windows版本,通常以ZIP格式提供。解压后,你可以找到包含多个可执行文件的目录,其中`ffmpeg....

    java缩略图jar包

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

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

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

Global site tag (gtag.js) - Google Analytics