IT/JAVA
[JAVA] 이미지 썸네일(image Thumbnail) 만들기
윤재웅
2019. 10. 24. 17:53
[JAVA] 이미지 썸네일(image Thumbnail) 만들기
썸네일을 만들어 보았습니다. 간간히 보이는 if문을 제외하면 기본적인 구조입니다.
public class ThumbAdd {
@SuppressWarnings("deprecation")
public ThumbAdd(String imagePatch, String imageThumbPatch) throws IOException{
File src = new File(imagePatch);
Image srcImg = null;
FileInputStream fis = new FileInputStream(imagePatch.replaceAll("/", "\\" + File.separator));
BufferedImage im = ImageIO.read(fis);
String suffix = src.getName().substring(src.getName().lastIndexOf('.')+1).toLowerCase();
if (suffix.equals("bmp") || suffix.equals("png") || suffix.equals("gif")) {
srcImg = ImageIO.read(src);
} else {
srcImg = new ImageIcon(src.toURL()).getImage();
}
double scale = (double) 300 / (double) srcImg.getHeight(null);
if (srcImg.getWidth(null) > srcImg.getHeight(null)) {
scale = (double) 300 / (double) srcImg.getWidth(null);
}
int scaledW = (int) (scale * srcImg.getWidth(null));
int scaledH = (int) (scale * srcImg.getHeight(null));
BufferedImage thumb = new BufferedImage(scaledW, scaledH, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = thumb.createGraphics();
g2.drawImage(im, 0, 0, scaledW, scaledH, null);
ImageIO.write(thumb, "jpg", new File(imageThumbPatch));
}
}