給下面的方法指定一下路徑 ,舊文件名稱 ,新文件名稱,n 改變倍數就可以完成更改圖片大小
代碼如下:
package com.qq.client.tools;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class JpgChange {
// path 路徑 ,舊文件名稱 ,新文件名稱,n 改變倍數
public void changeImage(String path, String oldimg, String newimg, int n) {
try {
File file = new File(path + oldimg);
Image img = ImageIO.read(file);
// 構造Image對象
int wideth = img.getWidth(null); // 得到源圖寬
int height = img.getHeight(null); // 得到源圖長
BufferedImage tag = new BufferedImage(n * wideth, n * height,
BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(img, 0, 0, n * wideth, n * height, null);
FileOutputStream out = new FileOutputStream(path + newimg);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(tag); // 近JPEG編碼
out.close();
} catch (IOException e) {
System.out.println("處理文件出現異常");
e.printStackTrace();
}
}
public static void main(String[] args) {
JpgChange jc = new JpgChange();
jc.changeImage("E:\\", "1.bmp", "2.bmp", 3);
}
}