썸네일 이미지 만들기
Java SDK1.4부터 Image I/O API가 추가되었다.
############################################
# 이미지 파일 읽어오기
############################################
javax.imageio.ImageIO 클래스가 제공하는 read()메소드를 이용한다.
BufferedImage read(File input)
BufferedImage read(InputStream input)
BufferedImage read(URL input)
File file = new File("c:\\image\\good.gif")
BufferedImage image = imageIO.read(file)
FileInputStream input = new FileInputStream("c:\\image\\good.gif")
BufferedImage image = imageIO.read(input)
URL logUrl = new URL("http://www.xxx.com/main/xxx.gif")
BufferedImage logoImage = imageIO.read(logUrl)
############################################
# 썸네일 이미지 만들기
############################################
1. ImageIO.read()메소드를 이용하여 BufferedImage에 저장한다.(원본)
2. 변경할 크기를 갖는 새로운 BufferedImage 객체를 생성한다.
3. 대상 BufferedImage객체의 createGraphics()메소드를 호출하여 대상 BufferedImage에 그림을 그릴 수 있는 Graphics2D 객체를 구한다.
4. Graphics2D 객체를 사용하여 원본 BufferedImage를 대상 BufferedImage에 그린다. 이때 크기를 조절한다.
BufferedImage srcimg = imageIO.read(imgFile);
BufferedImage destimg = new BufferedImage(w, h, BufferedImage.TYPE_3BYTE_BGR);
Graphics2D g = srcImg.createGraphics();
g.drawimage(srcImg, 0, 0, width, height, null);
###########################################
# BufferedImage를 파일로 저장하기
###########################################
imageIO.write()메소드를 통해서 BufferedImage를 출력할 수 있다.
write(RenderedImage im, String formatName, File output)
write(RenderedImage im, String formatName, OutputStream output)
formatName : PNG png, jpeg JPEG jpg JPG
###########################################
# 이미지크기를 변경
###########################################
boolean isResult = false;
FileInputStream srcls = null;
srcls = new FileInputStream("c:\\sample.gif");
BufferedImage srcimg = ImageIO.read(srcls);
BufferedImage destimg = new BufferedImage(30, 30, BufferedImage.TYPE_3BYTE_BGR);
Graphics2D g = destimg.createGraphics();
g.drawImage(srcimg, 0, 0, 30, 30, null);
File dest = new File("c:\\thum2_sample.jpg");
isResult = ImageIO.write(destimg, "jpg", dest);
if (isResult)
{
out.println("Image변환 성공");
}