縮放圖片

/**

* 縮放圖片

*

* @param srcImageFile 圖片來源

* @param result 縮放後圖片儲存位置

* @param scale 縮放比例

* @param flag 縮放選擇:true 放大; false 縮小;

*/

public static void scale(String srcImageFile, String result, int scale, boolean flag) {

try {

BufferedImage src = ImageIO.read(new File(srcImageFile));//讀取來源

int width = src.getWidth();//取得圖寬

int height = src.getHeight();//取得圖長

if (flag) {

//放大

width = width * scale;

height = height * scale;

} else {

//縮小

width = width / scale;

height = height / scale;

}

Image image = src.getScaledInstance(width, height, Image.SCALE_DEFAULT);

BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

Graphics g = tag.getGraphics();

g.drawImage(image, 0, 0, null);//繪製縮小後的圖

g.dispose();

ImageIO.write(tag, "JPEG", new File(result));//輸出

} catch (IOException e) {

e.printStackTrace();

}

}