java实现遍历目录并更改图片尺寸
文件列表:
listDir.java (遍历目录)
jpgZoom.java (图像任意缩放)
jpgScaleZoom.java (图像等比缩放)
makeScaleImg.java (生成缩略图的程序)
需要注意的:
仅提供了jpeg,png的图像缩放功能
所定目录下必须都是图片
生成的图像放在对应目录的small/目录下
编译程序请使用jdk1.4.x
程序下载地址:
点击下载
编译:
- javac -d . listDir.java
- javac -d .jpgZoom.java
- javac -d jpgScaleZoom.java
- javac -d makeScaleImg.java
运行:
需要传入1个命令行参数来运行程序,参数为图片的实际目录,可以是相对的,也可以是绝对的.
- java taoer.image.app.makeScaleImg ../images/
“../images/”为你的实际目录
其中makeScaleImg.java可以根据自己的需要进行修改
部分说明
摘取makeScaleImg.java中可以自己定义的部分
- package taoer.image.app;
- import java.io.*;
- import java.util.*;
- public class makeScaleImg {
- String path = ""; //你的图片目录
- public void makeDirectoryOfImg(String _path1, String _path2) {
- String _path = _path1 + _path2;
- String _dPath = _path + "small/"; //这里的small可以修改为你想要的新目录名
- String _scaleType = "width"; //这里决定是按照宽度或者高度来进行比例缩放,可以写 width 或者 height
- String _sFile = "";
- String _dFile = "";
- int _scaleNum = 530; //这里是缩放的比例
- boolean _originalShape = true;
- File _smallPath = new File(_dPath);
- File _smallFile;
- listDir dir = new listDir(_path);
- _smallPath.mkdir();
- for (int i = 0; i < dir.fileList.length; i++) {
- File _file = dir.fileList[i];
- if (_file.isFile()) {
- _sFile = _path + _file.getName();
- _dFile = _dPath + _file.getName();
- String fileExtName = _dFile.substring(_dFile.length() - 4, _dFile.length());
- if (fileExtName.equals(".jpg")) {
- _smallFile = new File(_dFile);
- if (!_smallFile.isFile()) {
- System.out.println("sFile is: " + _sFile);
- System.out.println("dFile is: " + _dFile);
- jpgScaleZoom zoom = new jpgScaleZoom(_sFile, _dFile, _scaleType, _scaleNum);
- zoom.originalShape = _originalShape;
- zoom.makeImg();
- }
- }
- }
- }
- }
- }
基本就这么多吧
如果有不明白的朋友可以给我留言
我也是初学java,希望可以和朋友们交流
程序代码不是很精
希望高手指点,也希望没有误人子弟 :p

不好意思,链接地址我已经修改好了,现在可以下载了:)
注释很少,基本上每个类的main方法就算是个例子吧。
如果看不懂可以给我留言,也可以加我的msn:supertaoer@hotmail.com
我现在也要做一个图形缩放的功能,想参考一下你的程序,可是怎么不能下载啊,如果有时间的话,能不能麻烦你发到我的邮箱里呢,谢谢!万分感谢!