/*

oldsrc  : 原图片地址目录 如 'd:/'

   newsrc  : 压缩后图片地址目录 如 'e:/'

   widthdist,heightdist : 压缩后的宽和高

   

   createtime 2010-11-25

   @auto yijianfeng

 */

public void reduceImgAll(String oldsrc, String newsrc, int widthdist,

   int heightdist) {

  try {

   File file = new File(oldsrc);

   if (!file.exists()) {

    return;

   }

   File[] srcfile = file.listFiles();

   if (srcfile != null) {

    for (int i = 0; i < srcfile.length; i++) {

     if (srcfile[i].isFile()

       && (srcfile[i].getName().endsWith(".jpg")

         || srcfile[i].getName().endsWith(".JPG")

         || srcfile[i].getName().endsWith(".gif") || srcfile[i]

         .getName().endsWith(".gif"))) {

      Image src = javax.imageio.ImageIO.read(srcfile[i]);

      BufferedImage tag = new BufferedImage((int) widthdist,

        (int) heightdist, BufferedImage.TYPE_INT_RGB);

      tag.getGraphics().drawImage(

        src.getScaledInstance(widthdist, heightdist,

          Image.SCALE_SMOOTH), 0, 0, null);

      FileOutputStream out = new FileOutputStream(newsrc

        + srcfile[i].getName());

      JPEGImageEncoder encoder = JPEGCodec

        .createJPEGEncoder(out);

      System.out.println(oldsrc + "/" + srcfile[i].getName());

      encoder.encode(tag);

      out.close();

     } else {

      reduceImgAll(oldsrc + srcfile[i].getName(), newsrc,

        widthdist, heightdist);

     }

    }

   }

  } catch (IOException ex) {

   ex.printStackTrace();

  }

 }

java 图片 批量 压缩 +所有压缩的更多相关文章

  1. java图片压缩工具类(指定压缩大小)

    1:先导入依赖 <!--thumbnailator图片处理--> <dependency> <groupId>net.coobird</groupId> ...

  2. JAVA图片批量上传JS-带预览功能

    这篇文章就简单的介绍一个很好用的文件上传工具,批量带预览功能.直接贴代码吧,都有注释,很好理解. HTML页面 <!DOCTYPE html> <%@ taglib prefix=& ...

  3. 利用WebUploader进行图片批量上传,在页面显示后选择多张图片压缩至指定路径【java】

    WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览 ...

  4. Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理

    前言 java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API ...

  5. Java 图片压缩

    package com.wuyu.util; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buff ...

  6. Java 图片矢量压缩

    直接贴出工具类源码 package com.snow.web.util.publics; import java.awt.Image; import java.awt.image.BufferedIm ...

  7. Winform文件夹图片批量压缩整理修改

    效果图: 窗体设计器生成的代码: namespace ImageCompact { partial class MainForm { /// <summary> /// 必需的设计器变量. ...

  8. Android微信分享图片大于32k进行压缩

    微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: <span style="font-si ...

  9. 压缩图片工具类,压缩100KB以内拿走直接用

    最近遇到自拍上传图片过大问题,很烦恼,所以自己写了一个压缩图片的工具类使用,自测效果很不错,可以压缩到KB以内,像素还可以分辨清晰 下面Java代码奉上: import lombok.extern.s ...

随机推荐

  1. Java当中的运算符

    一.关于Java当中运算符的分类 算术运算符:+,-,*,/.%(是取余运算符读莫).++.-- 关系运算符:>.<.>=.<=.!=(不等).==(等于) 布尔运算符:!(非 ...

  2. USB挂起与唤醒.

    USB可见设备状态分为连接(Attached),上电(Powered),默认(Default),地址(Address),配置(Configured)和挂起(Suspended)6个状态.所谓可见,即U ...

  3. Velocity 语法示例

    一.简介: 1)它允许任何人使用简单而强大的模板语言来引用定义在 java 代码中的对象" 2)Velocity是一个基于java的模板引擎,简称VTL(Velocity Template ...

  4. 从前有个聊天室(socket&threading)

    服务器端: # -*- coding: utf-8 -*- import socket, threading con = threading.Condition() HOST = raw_input( ...

  5. 服务器端操作Cookie[2]

    服务器端操作Cookie,主要注意会使用以下三个类: HttpCookie,HttpResponse,HttpRequest 关于HttpCookie: 属性 描述 例子 Domain 获取或设置与此 ...

  6. myeclipse笔记(3):导入的项目切换jdk版本

    有时候,从外面导入的javaweb项目会访问不了,这个时候改变jdk版本就是其中解决的方法之一. 右键点击项目 --> bulid path --> configure​ ​​​ 选择需要 ...

  7. 【原创】Freak3D printer 的Repetier-Host 的设置

    软件版本号:Repetier-Host 版本号 1.6.1 操作系统: win10 x64 专业版 3d打印机: Freak3D: 1. freak3D的相关参数(通过freak3D的官方打印文件得到 ...

  8. YUI 之getLocation

    关于Y.getLocation的简介是 Returns the `location` object from the window/frame in which this YUI instance o ...

  9. php如何实现上传图片文件,并替换

    首先建立两个文件: change.html 和 change.php change.html 文件的表单代码如下: <html><head> <title>chan ...

  10. Quick Sort In-place Implementation

    在线运行PHP http://www.compileonline.com/execute_php_online.php <?php function swap( &$a, &$b ...