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
- kotlin coroutine
- aws
- CloudWatch
- Linux
- kotlin spring
- kotlin
- AI
- Kubernetes
- Java
- Elasticsearch
- 오블완
- 정보처리기사 실기 기출문제
- PETERICA
- 공부
- CKA 기출문제
- 티스토리챌린지
- AWS EKS
- 정보처리기사실기 기출문제
- mysql 튜닝
- 정보처리기사 실기
- Pinpoint
- MySQL
- CKA
- 코틀린 코루틴의 정석
- APM
- IntelliJ
- Spring
- minikube
- kotlin querydsl
- 기록으로 실력을 쌓자
Archives
- Today
- Total
피터의 개발이야기
[Spring] PDF의 첫장 섬네일 만들기 본문
반응형
회사 프로젝트 중에 PDF의 섬네일을 만드는 과정을 정리하였습니다.
어제는 PDF를 이미지로 만드는데 성공하였고,
오늘은 이미지를 100X100 사이즈의 Thumbnail로 만드는 작업을 진행하였습니다.
gradle 추가
//thumbnail
compile group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.8.1'
compile group: 'commons-io', name: 'commons-io', version: '2.6'
이미지를 섬네일 이미지로 변경
public File thumbnailS3Upload(File file) throws Exception {
// 썸네일 크기는 100X100
BufferedImage sourceImg = ImageIO.read(file);
int ow = sourceImg.getWidth();
int oh = sourceImg.getHeight();
int nw = ow;
int nh = (ow * 100) / 100;
if (nh > oh) {
nw = (oh * 100) / 100;
nh = oh;
}
// 계산된 크기로 원본이미지를 가운데에서 crop 합니다.
BufferedImage cropImg = Scalr.crop(sourceImg, (ow - nw) / 2, (oh - nh) / 2, nw, nh);
BufferedImage destImg = Scalr.resize(cropImg, 100, 100);
String thumbName = tempPath + "THUMB_" + UUID.randomUUID() + "-" + file.getName();
File thumbFile = new File(thumbName);
ImageIO.write(destImg, FilenameUtils.getExtension(file.getName()), thumbFile);
return thumbFile;
}
성공한 이미지
공부했던 소스는 여기에 있습니다.
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] Mybatis 연동 (0) | 2021.01.03 |
---|---|
[Spring] SpringBoot를 kill 하는 3가지 방법 (0) | 2020.12.26 |
[Spring] PDF을 이미지 파일로 변환하기 (0) | 2020.12.23 |
[TDD] assertThat 사용법 (0) | 2020.12.19 |
[Spring] War 배포와 Jar 배포 시 resource 참조 문제 (0) | 2020.12.14 |
Comments