본문 바로가기
IT/Java

자바 이미지 처리(썸네일, 포맷변환, 리터칭등)

by yjacket 2011. 8. 20.
JAI (Java Advanced Imaging)
지원 : BMP, GIF (read only), FlashPix (read only), JPEG, PNG, PNM, TIFF, and WBMP
http://java.sun.com/javase/technologies/desktop/media/
http://java.net/projects/jai/
http://java.sun.com/products/java-media/jai/whatis.html
이미지 변환 방법 http://www.javanuri.com/devforum/boardView.jsp?menuId=9&Id=261407&gb=qna
 

JIMI (Java Image Management Interface)
지원 : GIF, JPEG, TIFF, PNG, PICT, Photoshop, BMP, Targa, ICO, CUR, Sunraster, XBM, XPM, and PCX
다운로드 http://java.sun.com/products/jimi/
JAI 와 성능면에서 뒤쳐지는 결과? http://www.hanhuy.com/pfn/java-image-thumbnail-comparison 
난 JIMI가 좋은거 같은데, 왜 모든 사람들은 JAI 만 언급하는가? https://forums.oracle.com/forums/thread.jspa?threadID=1270326
JIMI가 Java3D 로 흡수? 되었다는 얘기 http://stackoverflow.com/questions/967557/java-api-to-convert-jpeg-to-tiff


im4java (imageMagick)

제작사 http://www.imagemagick.org/script/api.php
다운로드 http://im4java.sourceforge.net/
JAI 와 품질,성능에 대한 코멘트 http://stackoverflow.com/questions/2291358/how-do-i-convert-a-tif-to-png-in-java


bmp 를 변환할 일이 있어서, 검색해봤는데 자바 초창기에 JIMI가 많이 쓰이다가 JAI 가 나오고나서는 JAI 를 더 많이 쓰는듯. 하지만  JAI가 너무 크다고 생각하는 사람들은 아직도 JIMI가 좋다고 생각함... 또 어떤사람은 im4java 를 JAI 보다 더 좋고 깔끔하다고 생각하지만 im4java 는 JAI나 JIMI 와 달리 sun(oracle)의 프로젝트가 아니기 때문인지..아니면 실제로 버그가 좀 있는건지 지적당하는 경우도 있음.

JAI는 좀 거대해보이고.. 난 변환만 하면 되니까 jar 크기 젤 작은 JIMI 쓸 생각!

이었으나

JDK 1.4.2 이후 버전에서는 이미지 변환같은 건 imageio로 가능해서 다음과 같이 구현함

File input = new File("D:\image.bmp");
File output = new File("D:\image.png");
BufferedImage bufferedImage = ImageIO.read(input);
ImageIO.write(bufferedImage, "png", output); // jpg, gif 도 가능