Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- html
- SpringBoot
- 프로덕트 매니저
- UX
- 회고록
- 자바스크립트
- 회고
- kpt회고
- 스프링부트
- CSS
- db
- javascript
- PM부트캠프
- 데이터
- 스프링
- 프로젝트 매니저
- 쇼핑몰
- 데이터분석
- 코드스테이츠
- PO
- 코딩
- jquery
- 서비스기획
- PM
- 서비스 기획자
- UI
- 생활코딩
- 서비스 기획
- 서비스분석
- tag
Archives
- Today
- Total
콘텐츠기획자의 IT입문서
SpringBoot 썸네일 crop하기 본문
이미지 업로드시 썸네일이
큰 이미지에서 작은이미지로 축소되다 보니 화질 깨짐 + 쪼그라드는 현상이 발생..!
그래서 구글링을 해서 코드를 적용했는데
Scalr이 먹지 않아서 뭐지???
한 30분 동안 뭐가 문제인지 몰랐음ㅎㅎ
없으니까 못 쓰지 바보야......ㅠ
build.gradle 에 아래 내용을 추가해준다 ^^
implementation group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2'
implementation group: 'net.coobird', name: 'thumbnailator', version: '0.4.17'
만약 maven이라면, 아래의 의존성을 추가하면 된다고 한다.
<dependency>
<groupId>org.imgscalr</groupId>
<artifactId>imgscalr-lib</artifactId>
<version>4.2</version>
</dependency>
그리고 다시 시작했는데
또 다시 난관에 부딪힘 ㅋㅋㅋㅋㅋ
왜 이번엔 너무 쪼그라 들었죠?
분명.... CSS에서 준 썸네일 div의 넓이랑 높이로 했는데요?
그리서 그냥 코드를 보고 자체적으로 느낌상
이게 필요하겠구나~ 했던 것만 빼고 다른 것은 다 지워버렸다.
필요했던 것
1. 넓이, 높이 중 짧은 것 기준으로 정방향으로 crop 하는 코드
2. crop 된 것 기준 이미지 작게 저장해서 화질 깨짐 줄이기
private void makeThumbnail(String thumbnailName, File saveFile, int width, int height) throws IOException {
File thumbnailFile = new File(getFullPath(thumbnailName));
BufferedImage readImage = ImageIO.read(saveFile);
int w = readImage.getWidth();
int h = readImage.getHeight();
int min = Math.min(w, h);
BufferedImage tmpImage = Scalr.crop(readImage, (w-min)/2, (h-min)/2, min, min);
BufferedImage thumbImage = Scalr.resize(tmpImage, Scalr.Method.AUTOMATIC, Scalr.Mode.FIT_TO_HEIGHT, 178);
ImageIO.write(thumbImage, "png", thumbnailFile);
}
성공~!
쪼그라들지도 않고, 잘 크롭됐따 :)
역시 과유불급... 아무거나 막 가져다 붙이면
안하느니만 못하다 ^_ㅠ
근데 보여지는 건데 그냥 프론트에서 하는 방법은 없나?
백엔드 너무 어려워......
참고했던 코드: https://offbyone.tistory.com/114
'Spring' 카테고리의 다른 글
맥북에서 파일경로 설정 (C드라이브, D드라이브) (0) | 2022.03.08 |
---|---|
Spring Data JPA - 쿼리 메서드 & @Query (0) | 2021.09.06 |
Spring Data JPA & 데이터베이스 CRUD 및 Paging (0) | 2021.09.04 |
Hello, Spring Boot! 프로젝트 실행하기 (0) | 2021.09.04 |
Spring Boot 프로젝트 구성 및 생성하기! (0) | 2021.09.04 |
Comments