본문 바로가기
스프링 웹 개발

[java 이미지 리사이즈] 자바를 활용한 이미지 용량 줄이기

by 배추잠자리 2021. 6. 8.
반응형

최근에 ffmpeg를 활용해서 동영상 용량을 줄였던 포스팅이 있었습니다~ 

이번에는 '이미지 리사이즈' 입니다.

ffmpeg와 같이 응용해본다면 괜찮은 기능이 나오겠죠?????

리눅스용) ffmpeg 자바 + 스프링 개발 ( 동영상 변환 ) (tistory.com)

 

리눅스용) ffmpeg 자바 + 스프링 개발 ( 동영상 변환 )

윈도우용 예제를 올린적이 있는데 참고하려면 ffmpeg 자바 + 스프링 개발 ( 동영상 변환 ) (tistory.com) ffmpeg 자바 + 스프링 개발 ( 동영상 변환 ) ffmpeg는 거의 커맨드창을 실행해서 하는 예제가 많아서

bcdragonfly.tistory.com

ffmpeg는 여기를 참고하세요 ~

 

[java 이미지 리사이즈] 자바를 활용한 이미지 용량 줄이기

 

▶ 프로젝트 생성 

 

프로젝트명 ' ImageTest ' 생성

ImageTest 로 프로젝트를 생성합니다.

 

 

 

▶ 패키지명과 자바파일 생성

 

image 패키지명,  ResizeUtil.java 생성

 

패키지명 image 

자바파일 ResizeUtil.java 생성

 

 

▶ 리사이즈 메소드 작성하기 [ 전체소스는 하단에 있습니다 ]

 

Resize 처리함수

 

Resize 실행 함수를 작성한다.

 

InputStream inputStream, int width, int height 은 파일과 리사이즈할 가로, 세로 길이를 파라미터로 받아서 처리한다.

drawImage 에서 그리기를 실행 후 dispose() 로 해제해준다.

 

dispose()는 Graphics의 자원 해제 기능으로써 getGraphics()로 Graphics을 성공적으로 추출했다면 dispose()로 해제해주어야 한다.

 

 

▶ 리사이즈 정보 작성하기 [ 전체소스는 하단에 있습니다 ]

 

 

Resize 메소드에 넘겨줄 정보 작성

 

웹에서 파일을 받는다고 생각하면 File 객체에 웹에서 넘어온 파일 정보를 넣어주면 된다.

 

Image img = new ImageIcon(file.toString()).getImage(); 이 부분은 파일의 가로길이와 세로길이를 추출할 수 있고, 파일의 메타데이터를 통해 다른 응용점도 찾아볼 수 있을거다 ! 예시는 주석을 참고

 

원본파일은 1920x1080 이고, 1280x720 으로 리사이즈 해볼것이다.

 

 

 

 

 

▶ 실행하기

 

실행하기

 

 

[ 리사이즈 전체소스 ]

 

 

▶ 결과

 

 

실행 전 70KB

 

 

실행 후 25KB

 

* 용량이 45KB 감소

* 해상도 1920x1080 에서 1280x720 으로 변경

* 웹과 한번 응용해보자 !

 

[keyword]

자바 이미지 편집, 자바 해상도 편집, java 이미지 편집, java 해상도 편집, 자바 이미지 리사이즈, java 이미지 리사이즈, java BufferedImage, 자바 BufferedImage, java image resize, 자바 이미지 resize, java 이미지 용량, 자바 이미지 용량 줄이기, 자바 이미지 축소, java Graphics2D, java ImageIO, 자바 ImageIO, 자바 Graphics2D, 스프링 이미지 편집, 스프링 이미지 리사이즈, 스프링 이미지 resize

반응형

댓글