ImageMagick 사용법 정리

2023년 8월 4일 수정

ImageMagick은 매직이라는 이름 답게 이미지 프로세싱과 관련된 여러가지 기능을 제공한다. 예를 들자면 이미지의 크기를 조절하거나 확대 축소하거나 연결하기도 하고 셸의 결과를 이미지로 가공하는 등등 다양하다. 이 도구의 사용법을 알아보자.

이미지 크기 조절하기

특정 이미지의 크기를 640x480 픽셀로 조절하고 싶다면 아래 커맨드를 이용할 수 있다.

convert input.png -resize 640x480 output.png

아마도 가장 흔하게 사용하게 될 기능 같다. 개인적으론 Xcode 프로젝트에서 사용되는 앱 아이콘의 다양한 크기 무더기(?)를 한 이미지에서 자동으로 생성할 때 사용한다.

anti-aliasing 없이 확대/축소하기

요즘 세상에 anti-aliasing 없이 편집한다는 것은 상당히 특이한 주제인데, 가끔 필요할 때가 있기는 하다. 예를 들어 8비트 시절 게임 그래픽을 흉내 낼 때 등등 말이다.

아래는 특정 이미지를 100 픽셀 이내로 확대 혹은 축소하는 예제다.

convert input.png -scale x100 output.png

즉 이미지가 정사각형이 아닌 경우 긴 축이 100픽셀에 맞도록 스케일 해주는 예제다.

셸 명령어 결과를 이미지로 출력하기

아래 명령은 표준 입력(stdin)으로 전달된 내용을 텍스트 소스로 PNG 이미지 파일로 출력해준다.

convert label:@- filename.png

입력을 파이프로 받으면 된다. 예를 들자면 아래와 같이 사용할 수 있다.

ls ~/Desktop | convert label:@- desktop_files.png

물론 이미지로 출력된 내용은 에서 보이는 폰트나 색상 등등 겉모습이 다르다는 점을 알아두자.

이미지 연결하기

여러 장의 이미지를 하나로 합칠 때 옆으로 혹은 밑으로 연결하고자 할 수 있는데 이럴 때 append 옵션을 이용할 수 있다.

-append 옵션을 이용하면 이미지를 위에서 아래로 붙일 수 있다.

convert -append pic1.png pic2.png output.png

+append 옵션을 이용하면 이미지를 왼쪽에서 오른쪽으로 옆으로 붙일 수 있다.

convert +append pic1.png pic2.png output.png