1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | package comm; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.ImageIcon; public class ThumBnail { public static boolean createThumbnail(String loadFile, String saveFile, int maxDim)throws IOException{ 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, "jpg", save); } //loadFile - 원본 이미지 파일 전체경로 및 파일명(ex: c:\file\test.jpg) //saveFile - 저장될 이미지 파일 전체경로 및 파일명(ex: c:\file\test_300.jpg) //maxDim - 저장될 이미지의 최대 pixel(ex:300) } | cs |
'개발' 카테고리의 다른 글
[javascript] 문자열 검색 indexOf('문자열'); (0) | 2014.10.08 |
---|---|
[java] 한글파일 다운로드시 파일명이 깨지는 증상, 띄어쓰기시 다운로드 안되는 증상 (0) | 2014.10.08 |
[java] 한글 파일 다운로드시 파일명이 ie에서만 깨지는 증상 (0) | 2014.10.07 |
[java] 암호화 복호화 (0) | 2014.10.01 |
[javascript] 검색 (0) | 2014.10.01 |