วันพฤหัสบดีที่ 28 สิงหาคม พ.ศ. 2551

JSP resize image function

การใช้งาน resizeImage(
srcPath = path ของรูปต้นแบบ
srcName = ชื่อไฟล์ของรูปต้นแบบ
desPath = path ปลายทางของรูปที่ resize เสร็จแล้ว
wSize = ความกว้างของรูป resize
hSize = ความสูงของรูป resize
)

public BufferedImage scaleImage(BufferedImage bufferedImage, int wSize, int hSize) {
float orgWidth = Float.parseFloat(bufferedImage.getWidth()+"");
float orgHeight = Float.parseFloat(bufferedImage.getHeight()+"");
float boundWidth = orgWidth/orgHeight;
float boundHeight = orgHeight/orgWidth;
int newWidth = 0;
int newHeight = 0;
/* if (orgWidth > orgHeight) {
newHeight = Math.round(boundHeight*wSize);
newWidth = wSize;
} else {
newWidth = Math.round(boundWidth*hSize);
newHeight = hSize;
}*/
Image newImage = bufferedImage.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
BufferedImage newImageBI = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D G2D = newImageBI.createGraphics();
G2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
G2D.drawImage(newImage, 0, 0, null);
G2D.dispose();
return (newImageBI);
}

public boolean resizeImage(String srcPath, String srcName, String desPath, int wSize, int hSize) throws FileNotFoundException, IOException {
boolean flag = false;
File fbcm = new File(srcPath);
File [] listFile = fbcm.listFiles();
if(fbcm.isDirectory()) {
if (listFile.length!=0) {
for (int i=0;i

String listname = listFile[i].getName();
if (listFile[i].getName().equals(srcName)) {
try {
InputStream imageStream = new BufferedInputStream(new FileInputStream(listFile[i]));

BufferedImage image = javax.imageio.ImageIO.read(imageStream);
BufferedImage newImage = scaleImage(image, wSize, hSize);
File file = new File(desPath, srcName);
ImageIO.write(newImage, "jpg", file);
flag = true;
} catch (Exception e) {
}
}
}
}
}
return flag;
}

ไม่มีความคิดเห็น: