- TwelveMonkeys 는 ImageIO를 확장하고 추가적인 플러그인을 제공한다
- 기존에 ImageIO를 사용한코드 ImageIO.read(inputStream) 등을 수정할 필요가 없다.
JPG 파일을 ImageIO.read를 이용하여 BufferedImage로 변환하고 있었다.
그러던 중 특정 JPG 파일 에서 아래와 같은 예외가발생하였다.
javax.imageio.IIOException: Unsupported Image Type
- ImageIO에서는 JPG encoding이 RGB로 된 파일만 지원한다. -_-g
- CMYK JPEGs (converted to RGB by default or as CMYK, using embedded ICC profile)
- TwelveMonkeys 에서는 CMYK JPEG 를 지원한다.
gradle 에 아래 의존성을 추가해보자.
compile ('com.twelvemonkeys.imageio:imageio-core:3.4.1')
compile ('com.twelvemonkeys.imageio:imageio-jpeg:3.4.1')
테스트시 의존성 추가 만으로도 예외 발생 없이 JPG CMYK 를 RGB BufferedImage로 읽을 수 있었다.