3장. 윌버와 함께하는 첫 단계

차례

1. 김프의 기본 개념들
2. 김프의 주요 화면
2.1. The Toolbox
2.2. 이미지 창
2.3. 대화 상자와 도킹
3. 실행 취소하기
3.1. 실행 취소를 할 수 없는 것들
4. 간단한 김프 사용법
4.1. 목적
4.2. 이미지의 크기 변경하기 (크기 조정)
4.3. JPEG 이미지 작게 만들기
4.4. 이미지 잘라내기
4.5. 이미지 정보 확인하기
4.6. 모드 변경하기
4.7. 이미지 뒤집기
4.8. 이미지 회전하기
5. 직선 그리기
5.1. 목적
5.2. 예제들

1. 김프의 기본 개념들

그림 3.1. 김프 마스코트, 윌버

김프 마스코트, 윌버

김프의 마스코트는 윌버입니다. 김프 소스에 포함된 Wilber_Construction_Kit를 이용하


이 장에서는 김프에서 사용하는 기본 개념과 용어에 관한 간략한 소개를 할 것입니다. 이곳에서 소개된 내용들은 다른 장에서 자세히 설명될 것입니다. 각 내용과 관련된 부분은 목차에서 쉽게 찾을 수 있습니다.

이미지

이미지는 김프 사용의 가장 기본이 되는 부분입니다. 보통 이미지라고 하면 TIFF 나 JPEG 과 같은 하나의 파일을 가리킵니다. 또는 하나의 이미지가 열려 있는 창을 가리키는 말로 쓰는 경우도 있습니다. 하지만 엄밀히 말해 이는 올바르지 않습니다. 왜냐하면 여러 창에 같은 이미지를 열 수도 있기 때문입니다. 반대로 한 창에 여러 이미지를 띄우거나 창없이 이미지를 열수는 없습니다.

김프 이미지는 굉장히 복잡하게 구성되어 있습니다. 이는 기존의 그림이 그려진 종이라는 개념이 아니라 레이어라는 수많은 페이지로 이루어진 책과 같은 개념입니다. 김프 이미지에는 레이어 외에 선택 마스크, 채널, 경로 등도 포함됩니다. 김프parasites(기생충)라고 부르는 이미지의 데이터 조각을 무작위로 이어붙이는 기술도 제공합니다.

김프에서는 동시에 많은 이미지들을 열 수 있습니다. 큰 이미지들을 동시에 열려면 많은 메모리가 필요하지만, 김프의 지능적인 타일기반 메모리 관리 시스템은 이러한 메모리 문제를 깔끔하게 처리할 수 있습니다. 하지만 한계는 있으므로 일반적으로는 사용 가능한 메모리를 늘이는 것이 좋습니다.

레이어

이미지가 책이라면, 레이어는 책 안의 페이지와 같습니다. 간단한 이미지의 경우 하나의 레이어로만 되어 있는 경우도 있지만, 대부분의 김프 이미지들은 많은 레이어로 구성되어 있습니다. 레이어는 불투명할 필요도 없으며, 모든 레이어의 크기가 이미지의 크기와 같을 필요도 없습니다. 그런 까닭에 많은 레이어를 포함한 이미지를 보면 최상위 레이어 외에 다른 레이어의 내용들도 볼 수 있습니다.

채널

김프에서 채널은 이미지를 구성하는 레이어 층의 가장 작은 구분 단위입니다. 레이어 내의 모든 채널은 해당 레이어와 똑같은 크기와 같은 픽셀로 구성되어 있습니다. 각 픽셀은 0부터 255까지의 값들을 가질 수 있는데, 이것은 채널의 종류에 따라 약간씩 다릅니다. 예를 들어 RGB 색상으로 된 이미지의 R-채널의 경우는 다른 픽셀에 포함된 빨간색의 양을 의미합니다. 그리고 선택 채널은 선택된 픽셀을 얼마만큼 선택할 것인가를, 알파 채널은 해당 픽셀을 얼마만큼 투명하게 할 것인가를 각각 나타냅니다.

선택

이미지를 편집할때 일정 부분에만 영향을 미치도록 하고 싶을 때가 있습니다. 이럴때 선택 기능을 사용합니다. 선택을 하면 움직이는 점선으로 선택된 영역과 선택되지 않은 영역이 구분됩니다. 움직이는 점선을 흔히 행진하는 개미떼 라고 부르는데, 이는 엄밀히 말해 선택은 아닙니다. 김프에서 선택은 선택되거나 선택되지 않는 이분법적인 구분이 아니라 단계적으로 구현되어 완전한 회색톤 채널에 표현됩니다. 화면에서 볼 수 있는 점선은 50% 정도 선택된 영역의 윤곽선입니다. 퀵마스크 버튼을 눌러 퀵마스크 모드로 전환하면 선택의 제 모습을 확인할 수 있습니다.

김프를 효과적으로 사용하려면 선택을 잘 하는 방법을 배워야 합니다. 선택만 잘 다뤄도 거의 대부분의 작업을 할 수 있습니다. 이처럼 선택은 가장 중요한 부분이므로 김프에서는 선택 생성 도구, 선택 조정 도구, 그리고 색상 채널처럼 칠하듯 선택할 수 있는 퀵마스크 모드로의 전환 등의 상당히 많은 선택 관리 도구를 제공합니다.

실행 취소하기

이미지 작업 중 실수를 한 경우, 해당 작업 전으로 되돌릴 수 있습니다. 이미지에 할 수 있는 작업의 대부분을 실행 취소할 수 있으며, 실행 취소를 하기로 결정한 시점으로부터 상당히 많은 동작들을 실행 취소할 수 있습니다. 김프는 실행 취소를 위해 각 작업의 내용을 메모리에 저장합니다. 따라서 실행 취소가 가능한 횟수는 무한하지 않습니다. 작업 내용에 따라 실행 취소에 필요한 메모리 양이 다릅니다. 일부 작업은 필요한 메모리량이 무척 작아 많은 횟수를 실행 취소할 수 있는 반면, 일부 작업은 많은 메모리를 필요로 하기도 합니다. 김프의 각 이미지의 실행 취소 동작에 할당된 메모리량은 기본 설정에서 변경할 수 있습니다. 하지만 어떠한 상황에서라도 최소한 2-3회 정도는 실행 취소를 할 수 있습니다.(이미지를 닫는 동작은 실행 취소를 할 수 없습니다. 따라서 이미지를 변경한 뒤 이미지를 닫을 경우 김프는 자동으로 확인 과정을 호출합니다.)

플러그인

대부분의 이미지 편집 작업은 김프만으로 가능하지만, 김프에서는 플러그인 이라는 외부 프로그램을 통해 조금 더 편리하고 지능적인 확장 기능들을 제공합니다. 중요한 플러그인들은 김프와 함께 배포되지만, 그 외의 수많은 플러그인들을 사용할 수도 있습니다. 플러그인(또는 스크립트)은 사용자들이 김프 개발팀에 참여하지 않고도 직접 김프의 기능을 확장시킬 수 있는 가장 손쉬운 방법입니다.

그런 까닭에 필터 메뉴의 모든 명령과 다른 메뉴들의 많은 명령들은 플러그인으로 구현되어 있습니다.

스크립트

C 언어로 짜여진 플러그인 외에 스크립트를 사용할 수도 있습니다. 대부분의 스크립트들은 Script-Fu 라는 언어로 짜여졌는데, 이것은 Scheme이라고 불리는 Lisp 계열 언어로 김프 전용 언어입니다. Python 이나 Perl 등의 언어로도 스크립트를 만들 수 있습니다. 이러한 언어들은 Script-Fu 보다 유연하고 강력하지만, 김프와 함께 배포되지 않는 프로그램에 사용되기 때문에, 그 안정성에 대해 보장을 받지 못합니다.