`

图片缩略图

 
阅读更多
/**  
     * 缩放  
     * 
     * @param source  目标图片路径
     * @param targetW 宽度  
     * @param targetH 高度  
     */  
    public static BufferedImage resize(BufferedImage source, int targetW, int targetH) {  
    	 // targetW,targetH分别表示目标长和宽  
    	 int type = source.getType();  
    	 BufferedImage target = null;  
    	 double sx = (double) targetW / source.getWidth();  
    	 double sy = (double) targetH / source.getHeight();  
    	 //这里想实现在targetW,targetH范围内实现等比缩放。如果不需要等比缩放  
    	 //则将下面的if else语句注释即可  
    	 if(sx>sy)  {  
	    	 sx = sy;  
	    	 targetW = (int)(sx * source.getWidth());  
    	 }else{  
    		 sy = sx;  
    		 targetH = (int)(sy * source.getHeight());  
    	 }  
    	 if (type == BufferedImage.TYPE_CUSTOM) { //handmade  
	    	 ColorModel cm = source.getColorModel();  
	    	 WritableRaster raster = cm.createCompatibleWritableRaster(targetW, targetH);  
	    	 boolean alphaPremultiplied = cm.isAlphaPremultiplied();  
	    	 target = new BufferedImage(cm, raster, alphaPremultiplied, null);  
    	 } else  
    		 target = new BufferedImage(targetW, targetH, type);  
    	 Graphics2D g = target.createGraphics();  
    	 //smoother than exlax:  
    	 g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY );  
    	 g.drawRenderedImage(source, AffineTransform.getScaleInstance(sx, sy));  
    	 g.dispose();  
    	 return target;  
    }  
    
    /**  
     * 缩放  
     * 
     * @param fromFileStr 源图片路径  
     * @param saveToFileStr 目标图片路径
     * @param height 高度  
     * @param width 宽度  
     */ 
    public static void resizeImage(String fromFileStr,String saveToFileStr,int width,int hight) throws Exception {  
    	 BufferedImage srcImage;  
    	 String imgType = "JPEG";  
    	 if (fromFileStr.toLowerCase().endsWith(".png")) {  
    		 imgType = "PNG";  
    	 }  
    	 File saveFile=new File(saveToFileStr);  
    	 File fromFile=new File(fromFileStr);  
    	 srcImage = ImageIO.read(fromFile);  
    	 if(width > 0 || hight > 0){  
    		 srcImage = resize(srcImage, width, hight);  
    	 }  
    	 ImageIO.write(srcImage, imgType, saveFile);  
   }
分享到:
评论

相关推荐

    如何在Delphi中生成图片缩略图的例子.rar

    在Delphi编程环境中,生成图片缩略图是一项常见的任务,特别是在开发图像管理、网页设计或者多媒体应用时。本文将详细讲解如何使用Delphi来创建图片缩略图,并以提供的源代码为例进行解析。 首先,我们需要了解...

    如何生成图片缩略图

    在ASP.NET中生成图片缩略图是一项常见的任务,特别是在构建网站或应用时,需要对上传的图片进行处理,如创建预览、展示列表或者优化加载速度。本文将深入探讨如何利用ASP.NET技术来实现这一功能。 首先,我们需要...

    php生成图片缩略图的一个代码类.zip

    首先,我们需要了解生成图片缩略图的基本原理。在PHP中,最常用的图像处理库是GD库和Imagick扩展。这个类可能基于其中之一,尤其是GD库,因为它是PHP的默认图像处理库,适用于大多数服务器环境。GD库支持多种图像...

    PHP程序生成图片缩略图

    ### PHP程序生成图片缩略图知识点详解 #### 一、概览 在Web开发中,为了提高用户体验并减少服务器带宽消耗,经常会遇到需要对图片进行处理以生成不同尺寸缩略图的需求。本文将深入探讨一个PHP脚本,该脚本能够实现...

    php生成图片缩略图代码类.zip

    首先,我们需要理解图片缩略图生成的基本概念。缩略图是原图的一个较小版本,通常保持原始图像的比例,以节省网页加载时间和空间。在PHP中,我们通常使用GD库或ImageMagick库来处理图像。这个代码类很可能使用了GD库...

    jsp中生成图片缩略图的代码

    在JSP(Java Server Pages)中生成图片缩略图是一个常见的需求,特别是在处理大量图片的网站上,为了提高页面加载速度和用户体验,通常会将原始图片转换为较小的缩略图进行展示。本文将深入解析如何在JSP中实现图片...

    生成图片缩略图

    在IT行业中,生成图片缩略图是一项常见的任务,特别是在网页设计、内容管理和图像处理系统中。C#作为.NET框架的主要编程语言,提供了丰富的类库来处理这种需求。本篇文章将详细探讨如何使用C#来生成图片缩略图,并...

    jQuery响应式按比例生成图片缩略图插件

    **jQuery响应式按比例生成图片缩略图插件——jqthumb** 在网页设计中,图片的展示和处理是一项重要的任务,特别是在响应式设计中,图片的缩略图生成显得尤为重要。`jqthumb`是一个专为jQuery设计的插件,旨在帮助...

    c# 生成图片缩略图

    c# 生成图片缩略图

    用PHP批量生成图片缩略图——活跃论坛转帖

    在PHP编程中,批量生成图片缩略图是一个常见的需求,特别是在构建论坛或社交媒体平台时,为了提高用户体验,通常需要对用户上传的图片进行自动化处理,生成预览版本,即缩略图。本教程将深入探讨如何使用PHP实现这一...

    生成图片缩略图Jar包

    《生成图片缩略图Jar包:使用Thumbnailator库进行图片处理》 在现代软件开发中,尤其是在Web应用和移动应用中,图片的处理是不可或缺的一部分。生成图片缩略图是常见的需求,它可以帮助我们快速展示大量的图片,...

    JPG图片缩略图与原图不一致(VC6源码)

    网上流传的‘一张令所有人吃惊的图片’,是一张椅子的图片,但是,如果你的系统是XP,把它下载后保存到任意一个文件夹中,打开文件夹,用缩略图的方式查看,会看到图片的缩略图是一个机器女人坐在地上。 经过一番研究...

    .net 上传图片缩略图

    在.NET框架中,生成图片缩略图是一项常见的任务,尤其在网页开发或者图像处理应用中。这个场景描述了如何利用.NET技术将原始图片按照宽度或高度的比例进行压缩,生成一个符合特定尺寸要求的小尺寸图片,即所谓的...

    html5图片上传本地生成缩略图预览

    总的来说,HTML5的File API、Canvas和Data URL提供了强大的本地文件处理能力,使得在浏览器端生成图片缩略图预览成为可能,大大提升了图片上传功能的用户体验。在实际开发中,我们还需要考虑性能优化、兼容性处理...

    java swing 生成图片缩略图

    使用java swing生成图片缩略图,可以自己设置图片的高度和宽度即可生成自己想要的图片。(双击jar包便可运行(在安装了jdk的环境下))

    生成图片缩略图的php类(需安装GD2图形库).zip

    在PHP开发中,生成图片缩略图是一项常见的需求,尤其在网站中用于显示用户上传的图片或者进行资源优化时。这个“生成图片缩略图的php类(需安装GD2图形库)”提供了方便的解决方案,它是一个专门设计用于创建图片...

    php生成图片缩略图的方法.docx

    在Web开发中,生成图片缩略图是一项常见的需求,尤其是在网站中展示大量图片时。HTML中简单的设置图片宽度和高度进行缩放并不理想,因为这不会改变图片的实际像素数量,导致加载速度不变。手动使用图形软件创建缩略...

    ANDROID 获取最近的相片的缩略图

    通过研究和理解这个代码,开发者可以更好地掌握如何在Android应用中正确处理图片缩略图的获取和展示,同时解决可能出现的问题。 总之,获取Android设备上的最近相片缩略图需要正确查询MediaStore,按时间排序,并...

    DDS图片缩略图显示工具DDS_viewer

    这款工具的特色在于其缩略图功能,使得用户在不打开每个文件的情况下,也能对文件夹中的多个DDS图片有一个直观的了解。 DDS文件通常包含颜色数据、压缩格式以及MIP映射级别等信息,其中MIP映射是提高图形性能的一种...

Global site tag (gtag.js) - Google Analytics