为解决数码像机体积过大,这里提供了一个简单不能再简单的java类来帮助懂java的同志简化转换照片的麻烦.
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class JpgMake {
public static void JpgTset(String name) throws Exception {
File _file = new File(name); // 读入文件
Image src = javax.imageio.ImageIO.read(_file); // 构造Image对象
int wideth = src.getWidth(null)*3/5; // 得到目标图宽 可根据实际需要进行修改
int height = src.getHeight(null)*3/5; // 得到目标图长 可根据实际需要进行修改
BufferedImage tag = new BufferedImage(wideth , height ,
BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src, 0, 0, wideth , height , null); // 绘制缩小后的图
FileOutputStream out = new FileOutputStream(name+".jpg"); // 输出到文件流
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(tag); // 近JPEG编码
// System.out.print(width+"*"+height);
out.close();
}
public static void main(String args[]) throws Exception{
java.io.File f=new File("abc");
String abc[]= f.list();
if("*.*".equals(args[1])){
System.out.println("按照目录转换!!!");
for(int i=0;i<abc.length;i++){
try{
JpgTset(abc[i]);
}catch(Exception e){
System.out.println("文件["+args[i]+"]转换失败!");
}
}
System.exit(0);
}
for(int i=0;i<args.length;i++){
try{
JpgTset(args[i]);
}catch(Exception e){
System.out.println("文件["+args[i]+"]转换失败!");
}
}
//JpgTset("e:/2006/DSC01870.JPG");
}
}
启动批处理
imgTool.bat
cmd /K abc.bat
abc.bat
@echo 例: java JpgMake DSC01802.JPG
@echo 例: java JpgMake *.*
启动时执行imgTool.bat 然后按照提示输入命令即可