원본이 가지고 있는 퀄리티를 유지하면서 썸네일 이미지를 만드는 소스는 다음과 같습니다.
전달되는 인자는 원본이미지명(orgName), 썸네일이미지명(newName), 썸네일 이미지 폭(width)
//원본이미지 파일을 읽어들인다.
Image srcImg = ImageIO.read(new File(orgName));
//이미지 사이즈 계산
int imx = srcImg.getWidth(null);
int imy = srcImg.getHeight(null);
int height = width * imy / imx;
Image imgTarget = srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH);
int pixels[] = new int[width * height];
PixelGrabber pg = new PixelGrabber(imgTarget, 0, 0, width, height, pixels, 0, width);
try {
pg.grabPixels();
} catch (InterruptedException e) {
throw new IOException(e.getMessage());
}
BufferedImage thumImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
thumImg.setRGB(0, 0, width, height, pixels, 0, width);
//썸네일 이미지 파일을 작성한다.
File thumtFile = new File(newName);
ImageIO.write(thumImg, "jpg", thumFile);
관련글
'프로그램 > Java' 카테고리의 다른 글
[JSTL] <c:forEach></c:forEach> (0) | 2014.06.09 |
---|---|
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String (0) | 2014.05.30 |
JAI 를 이용해서 썸네일 이미지 만들기 (0) | 2014.05.22 |
[WebLogic] 새 WebLogic 도메인 만들기 (0) | 2014.04.25 |
[WebLogic] 웹로직 11g 설치 (0) | 2014.04.24 |