간단한 로직으로 이미지 출력을 하려고 사용했으나 본래 사용용도는 파일 업로드 시 간단한 로직만으로 지정한 설정에 맞게 썸네일 이미지로 변환해서 저장 및 출력하는 라이브러리이다.

우리 프로젝트에서는 출력만 썼는데 지정한 설정에 맞게 리사이징(변환)하고 출력하기 때문에 무거워져서 사진 출력이 느리거나 안뜨는 것이다.

그래서 로직을 자바에서 기본제공해주는 InputStream과 OutputSteram로 바꿨다.

thumbnailator 의존성

<!-- 썸내일 기능 -->
		<dependency>
			<groupId>net.coobird</groupId> 
			<artifactId>thumbnailator</artifactId> 
			<version>0.4.8</version> 
		</dependency>

썸네일 라이브러리 로직 예제 - 업로드 이미지 썸네일용으로 저장

Thumbnails.of(바꾸려는 File 객체)
          .sourceRegion(Positions.CENTER, 100, 200)
          .size(가로폭, 세로폭)
          .toFiles(원하는 디렉토리를 가진 파일 객체, Rename.NO_CHANGE);

sourceRegion

size

toFiles

썸네일 라이브러리 로직 예제 - 이미지 출력

if (image2.exists()) {
			response.setContentType("image/png");
			Thumbnails.of(출력할이미지위치).size(400, 400).outputFormat(확장자명).toOutputStream(출력);
		}

setContentType