간단한 로직으로 이미지 출력을 하려고 사용했으나 본래 사용용도는 파일 업로드 시 간단한 로직만으로 지정한 설정에 맞게 썸네일 이미지로 변환해서 저장 및 출력하는 라이브러리이다.
우리 프로젝트에서는 출력만 썼는데 지정한 설정에 맞게 리사이징(변환)하고 출력하기 때문에 무거워져서 사진 출력이 느리거나 안뜨는 것이다.
그래서 로직을 자바에서 기본제공해주는 InputStream과 OutputSteram로 바꿨다.
<!-- 썸내일 기능 -->
<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