상세 컨텐츠

본문 제목

윈도우에서 PNG 파일을 JPG로 변환하기

MS Batch

by techbard 2022. 2. 5. 08:59

본문

반응형

업무적인 이유로 윈도우 환경에서 png 파일을 jpg 포맷으로 변환해야 할 일이 생겼다.

 

구글링을 해보니 다음과 같은 사실들을 알 수 있었다.

  1. 초보자를 위해서는 윈도우 내장 그림판을 이용한 변환이 쉽다.
  2. 고대적에 만들어진 CLI 형태 이미지 변환 프로그램이 있다.
  3. 이미지 변환의 종합 선물 세트가 공개 되어 있다.
  4. 그 외 다수의 무료나 공개, 상업용 라이선스가 적용된 GUI 형태의 이미지 변환 프로그램이 있다.
  5. 너무나 많은 온라인 이미지 포맷 변환 사이트들이 넘쳐 난다.

추론을 해보자면

  • 오래 전부터 이미지 포맷 변환을 위한 오픈 소스가 공개되어 있었다.
  • 대부분의 2차 저작 프로그램들은 이 라이브러리를 가져다가 인터페이스를 씌운 형태이다.

나의 필요를 정리해 보면

  1. 배치 파일 내에서 불러 사용할 수 있어야 한다.
  2. 라이선스 이슈가 없어야 한다.
  3. 배포가 필요할 수 있으므로 별도의 설치가 없고 디스크 차지 용량이 크지 않아야 한다.

나의 필요에 맞게 구글링을 하고 결과를 정리해 본 결과 나에게는 http://apps.bcheck.net/topng.htm 이 프로그램이 적합하였다.

  1. 소스가 공개되어 있고 이 역시 FreeImage 공개 라이브러리를 사용한다. 소스를 열어 보니 별개 없다. 라이선스에서 자유롭다.
  2. CLI (Command Line Interface)로 되어 있어 프로그램 크기가 크지 않고 MS Batch 파일에서 쓰기에 좋다.
  3. 몇 가지 테스트를 해본 결과 처리 결과가 스트링으로 출력된다.
Converting file_example_PNG_1MB.png from PNG to JPEG
file_example_PNG_1MB.png: 983.11k
file_example_PNG_1MB.jpg: 57.16k (5.8%)

 

특히 개발자가 이미 사용법을 명시해 놨다.

Simple command line utility to convert images between many formats. Use like:
for %a in (*.bmp) do topng %a jpg
And you can convert all the bmp's in a directory into jpgs.

 

위에서는 다수의 bmp 파일을 하나씩 topng 프로그램에 인자로 주고 있지만 나는 하나의 파일만 변환하고 그 변환 결과를 얻어야 하므로 다음과 같이 처리한다.

%__FULLPATH_TOPNG% "screen-%ldt%.png" jpg > %temp%\_convert_info.txt
  • 배치 파일 안에서는 경로명이 중요하기 때문에 절대 경로명을 사용해 프로그램의 실행을 보장한다.
  • PNG 파일을 인자로 받아 jpg 옵션을 통해 JPG 파일을 생성한다.
  • 이미지 변환 작업 중에 발생하는 명령 프로그램 출력 결과를 text 파일로 저장한다.

* 너무나 오래 전에 만들어진 페이지의 파일이므로 언젠간 사라질 수 있다고 보고 (그런데 2006년부터 지금까지 유지되었는데 쉽게 사라질까?) 파일을 남겨 둔다.

 

topng.zip
0.34MB
topng_src.zip
0.01MB

여러 가지로 테스트를 해본 결과 의도한 대로 아주 잘 작동한다. 나의 필요에 꼭 맞는 프로그램이다.
반응형

관련글 더보기

댓글 영역