새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다.
온라인에서 이미지의 크기를 줄여주는 많은 사이트들이 있다.
TinyPNG가 가장 잘 알려져있는데, 최근에는 여기서 JPEG도 지원하도록 기능이 추가되었다.
그런데, 이런 사이트를 통해 이미지를 압축하려면 내가 가진 이미지를 업로드해야 한다는 근본적인 문제가 있다.
왜 내 개인 이미지를 온라인에 올려줘야 되지?
그리고, 그 사이트들이 내 이미지를 다른 목적으로 사용하지 않는다는 보장이 있나?
사실, 이 사이트들이 사용하는 알고리즘은 대동소이 아니, 동일하다.
본 블로그에서도 몇번 소개했던 mozjpeg, ZopfliPNG, pngquant, Gifsicle에 웹 프론트엔드를 얹은 서비스들이다.
다시 말하면 이 프로그램들을 로컬에서 실행하면 동일한 서비스를 누릴 수 있으며, 업로드 제한 따윈 걱정할 필요도 없는 것이다.
그래서, 이미지를 로컬에서 처리하는 프로그램을 간단히 만들어봤다.
이 프로그램은 BMP/JPEG/PNG/GIF 파일들을 주어진 옵션에 따라 압축해준다.
- JPEG는 기본적으로 mozjpeg을 활용하여 최대한 작은 크기로 재압축
압축 품질을 별도로 지정할 수 있음
Exif 정보는 물론, 색상 프로파일 정보도 그대로 살려줌
파일 생성 일자도 그대로 유지
- PNG는 ZopfliPNG로 파일의 크기를 최대한 줄임
pngquant를 선택하면 8bpp의 PNG 파일을 생성해줌
각종 메타 정보를 그대로 유지
- GIF는 Gifsicle로 파일 크기 최소화
단일 프레임 GIF인 경우 8bpp PNG로 추가 저장
- BMP는 기본적으로 PNG로 변환하며, PNG 변환의 모든 선택을 동일하게 적용 가능
옵션에서 선택하면 JPEG로도 변환할 수 있으나, 변환 후 크기가 더 작으면 그냥 삭제해버림
※ 변환시 멀티 코어를 최대한 활용하나, 외부 프로그램을 활용한 변환 시에는 싱글 코어만 활용
이 프로그램은 아래 링크에서 다운받을 수 있다.
64비트(avx2) / password: teus.me
32비트 / password: teus.me
덧1. 많은 유사한 웹 페이지들은 별도로 유료 서비스인 Pro 버전을 지원(?)하는데, 눈가리고 아웅이라 생각함
덧2. 이 프로그램은 무조건 폴더 단위로 처리함, 당연히 대상 용량은 무제한
버전 히스토리
2023.5.28: v3.11
- 후원 계좌를 띄우지 않고 토스 아이디를 통해 후원받도록 수정
- 프로그램 업데이트
mozJPEG v4.1.3 업데이트(Feb 4, 2023)
libimagequant를 4.1.1로 업데이트 (2023.4.22)
libpng를 Feb 13, 2023(1.6.40git)로, zlib-ng를 2.1.1 Beta2(May 17, 2023)로 업데이트
- 기타 프로그램 기능 개선 및 오류 수정
전체적인 병렬 처리 메커니즘을 openmp 계열에서 C++ 표준 함수로 변경