public static boolean createThumbnail(String loadFile, String saveFile, int maxDim) throws IOException {
String suffix = loadFile.substring(loadFile.lastIndexOf('.') + 1).toLowerCase();
File save = new File(saveFile.replaceAll("/", "\\" + File.separator));
FileInputStream fis = new FileInputStream(loadFile.replaceAll("/", "\\" + File.separator));
BufferedImage im = ImageIO.read(fis);
Image inImage = new ImageIcon(loadFile).getImage();
double scale = (double)maxDim / (double)inImage.getHeight(null);
if (inImage.getWidth(null) > inImage.getHeight(null)) {
scale = (double)maxDim / (double)inImage.getWidth(null);
}
int scaledW = (int)(scale * inImage.getWidth(null));
int scaledH = (int)(scale * inImage.getHeight(null));
BufferedImage thumb = new BufferedImage(scaledW, scaledH, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = thumb.createGraphics();
g2.drawImage(im, 0, 0, scaledW, scaledH, null);
return ImageIO.write(thumb, suffix, save);
}
오래전 코드....이건 좀 구리다...