[윈도우즈] 디카 이미지 크기변경 일괄작업

2023. 4. 6. 00:06리눅스 실제 사용 팁

작성일 : 2010. 3. 21. 17:58


휴대폰 디카로 사진을 찍다보면 넓게 찍기 위해서 90도로 기울여서 찍는 경우가 있다.

이렇게 찍은 사진들은 편집하기 전에 -90도 (좌측) 회전을 해주어야 한다.

 

사진이 10개 이하이면 편집기에서 한 개 씩 작업해주면 되겠지만 적어도 20개 이상이 되면 일일이 해주기 귀찮을 것이다.

그래서 윈도우즈 OS에 배치파일 혹은 배치명령이 존재하는 것이다. (물론 리눅스/유닉스에서는 원래 셸이 있었다)

 

윈도우즈 커맨드에서 제공하는 명령은 시스템 운영에 한정되어 있기 때문에 그래픽 파일을 편집하려면 커맨드 기반으로 사용가능한

프로그램이 있어야 한다.

 

바로 image magick 또는 (이미지 매직 개발트리에서 떨어져 나온) graphics magick 를 쓰면 된다.

* 원래 리눅스/유닉스 쪽 프로그램이며, 윈도우즈용 바이너리도 제공한다.

* 100 여개의 포맷을 모두 지원한다.


아래 사이트에서 각각 다운로드 할 수 있다 :

이미지 매직) http://www.imagemagick.org/

그래픽스 매직) http://www.graphicsmagick.org/

 

* 리눅스에서는 패키지로 다운로드 할 수 있다. (debian Good!)


여기서는 그래픽스 매직(실행파일: gm.exe)을 기준으로 설명한다.

 

커맨드 창에서 'gm' 을 실행하면 아래와 같이 간단한 명령만 보여준다.

일단 보기엔 기능이 적어보이지만 이미지 사이즈 변경, 회전, .., 등에 관한 명령이 convert(변환) 안에 숨어있다.

convert 내장 명령을 보려면 `gm help convert` 라고 커맨드 창에 입력한다.

 

명령이 길게 나올 것이므로 자세히 보려면 `gm help convert | more` 로 한 페이지씩 끊어서 보면 된다.

내장 명령은 -convert 뒤에 마찬가지로 '-'를 붙여서 쓴다.

 

(.. 중략 ..)

 

이미지 사이즈 변경명령 : gm -convert -resize (배율) [원본파일] [생성이미지파일]

회전명령 : gm -convert -rotate (회전각도) [원본파일] [생성이미지파일]

 

위 명령에서 알 수 있듯이 원본파일을 그대로 두고 복사본에 대해 작업이 이루어지며

원본파일과 생성이미지파일명을 동일하게 입력하면 해당 파일을 직접 변경한다.

 

이제 간단한 배치명령이 남았다. 위 `gm ... 궁시렁궁시렁...`은 한 가지 작업만 가능하다.

윈도우즈 커맨드 (혹은 도스 커맨드)에서 for 명령을 써서 일정한 규칙을 가진 파일명 혹은 확장자에 대해서

동일한 작업을 수행하도록 만들 수 있다. 아래처럼 :

for %i in (조건) do [실행 할 명령]

(조건)에는 다음과 같이 지정할 수 있다.

현재 작업디렉토리의 전체파일을 대상으로 할 경우 '(*.*)' 를,

현재 작업디렉토리의 JPG 파일을 대상으로 할 경우 `(*.jpg)' 를 쓸 수 있다. 그 밖에 사용자 입맛에 맛게...

 

그럼 [실행 할 명령]에는 당연히 위에서 언급한 `gm -convert .. 궁시렁 ..` 을 넣되,

[원본파일] [생성이미지파일] 을 각각 '%i' 로 고친다.

 

in 뒤에 붙은 '(조건)'과 일치하는 인자가 '%i' 이기 때문이다.

 

간단한 실행예제를 보자.

밑줄 그어진 `for %i ..궁시렁..`은 직접 입력하였고 밑에 찍힌 `gm -convert ..궁시렁..`행들은 for 에 대한 실행결과인 것이다.