/*

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. C++中的static成员

    C++中的static 成员永远是我心中的痛,记了好多次了,但是今天在项目中依然忘记了,今天写下来,方便以后不用再去Baidu.google搜索了. 在头文件中声明静态成员 static int i; ...

  2. ArrayList 学习笔记

        接口   ArrayList实现了List接口,因此可以当作一个List来使用. 此外,ArrayList还实现RandomAccess接口和Serializable,说明ArrayList支 ...

  3. 定时改变App主题的方案

    1.将接口返回的图片缓存到本地,由于写data到本地是耗时操作,为了不阻塞主线程,可开启子线程来做此操作 dispatch_queue_t queue = dispatch_queue_create( ...

  4. web前端技术

    在网上找了点前端资料,记录下来,以便后面工作可能用到. Flat UI:一个WEB界面工具组件库.很多漂亮的菜单.按钮等. stickUp:一个jquery插件,可以将页面中的元素固定.经常用在把菜单 ...

  5. java下io文件切割合并功能

    package cn.stat.p1.file; import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...

  6. jQuery Scroll div滚动条样式更改

    <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script> ...

  7. 12 hdfs常用文件、目录拷贝操作、删除操作

    package com.da.hbase.tool.utils; import com.da.hbase.tool.common.Const; import org.apache.hadoop.con ...

  8. 第1章 网络编程基础(3)——基本Socket通信

    服务器常用模型

  9. iOS学习之根据文本内容动态计算文本框高度的步骤

    在视图加载的过程中,是先计算出frame,再根据frame加载视图的,所以在设计计算高度的方法的时候,设计成加号方法; //首先给外界提供计算cell高度的方法 + (CGFloat)heightFo ...

  10. iOS开发 - 不进入待机(屏幕保持唤醒)---UIApplication学习

    iOS开发 - 不进入待机(屏幕保持唤醒)---UIApplication学习 如果你不希望应用运行时 iPhone 进入锁屏待机状态,加入下面这行代码即可 [[UIApplication share ...