3. 실행 취소
| 3장. 윌버와 함께하는 첫 단계 |

## 3. 실행 취소

고친 과정
고침 $Revision: 2504 $ | 2008-03-23 | Mr.Dust

김프에서 이미지에 작업한 대부분의 일은 취소할 수 있습니다. 가장 최근에 한 작업을 취소하려면 이미지 메뉴에서 편집 → 실행 취소 를 선택하거나 단축키 Ctrl+Z 를 사용합니다.

실행 취소 또한 취소할 수 있는데, 이것은 실행 취소를 한 다음에 이미지 메뉴에서 편집 → 재실행 를 선택하거나 단축키 Ctrl+Y 를 누르면 됩니다. 실행 취소와 재실행은 종종 특정 작업의 효과를 확인하기 위해 사용됩니다. 이는 대체로 빠르고, 추가적인 리소스도 필요하지 않고, 실행취소 이력에 어떠한 영향도 주지 않기 때문에 여러번 반복해도 무방합니다.

| 경고
하나 혹은 여러 개의 작업을 취소한 다음에 실행취소나 재실행 이외의 다른 작업을 하면 더이상 취소했던 작업들을 재실행할 수 없습니다. 이러한 문제를 피하려면 이미지를 복사한 뒤 복사한 이미지에 작업을 합니다(실행 취소 이력은 복사되지 않기 때문에 원본에 직접 작업을 하면 안됩니다.).

한번에 많은 과정을 실행 취소하거나 재실행하는 일을 자주한다면, 실행 취소 이력 대화상자를 이용하면 편리합니다. 이 대화상자에는 실행 취소 이력의 각 포인트마다 개략적 미리보기가 있어 단지 클릭만 함으로써 해당 과정으로 실행 취소하거나 재실행할 수 있습니다.

실행취소는 이미지 기본 요소로 이루어지는데, "실행 취소 이력" 은 이미지의 구성 요소 중 하나입니다. 김프는 각 이미지의 실행 취소 이력을 위해 메모리의 일부를 할당하고 있습니다. 기본 설정 대화상자의 환경 페이지를 통해 이에 대한 설정을 변경할 수 있습니다. 해당 페이지를 보면 중요한 두 가지 변수가 있는데, 하나는 이미지의 메모리 사용량에 관계없이 최소 실행 취소 횟수이고, 나머지는 실행 취소에 할당되는 최대 실행 취소 메모리입니다. 이 메모리량을 초과하면 오래된 실행 취소 이력부터 삭제됩니다.

| 참고
실행 취소 이력이 이미지의 한 구성요소이긴 하지만, 김프 고유 포맷인 XCF 포맷으로 저장하더라도 실행 취소 이력은 저장되지 않습니다. 따라서 저장한 이미지를 다시 열면 실행 취소 이력은 비어있게 됩니다.

김프에서는 실행 취소가 꽤 근사하게 구현되어 있습니다. 대부분의 작업들은 아주 작은 실행 취소 메모리를 필요로 할 뿐이기 때문에(레이어의 보기 전환처럼), 꽤 많은 과정들을 저장해둘 수 있습니다. 앞서 말한 레이어의 보기전환과 같은 몇몇 작업들은 압축되어, 단지 하나의 포인트만을 기억해둠으로써 여러번 해당 과정을 반복할 수 있습니다. 그에 반면 필터와 같이 꽤 많은 실행 취소 메모리를 소모하는 작업들도 있습니다. 이 경우는 김프 코어가 플러그인에 의한 작업에 직접적으로 관여하지 않기 때문에, 플러그인에 의해 변화된 점에 대해 알 수 없기 때문입니다. 따라서 이러한 경우에는 실행 취소 이력에 플러그인 적용 전과 후를 모두 기록해 두어야 하기 때문에 많은 메모리를 사용하게 됩니다. 이러한 작업들은 실행 취소 이력에 겨우 몇번만 기록될 수 있습니다.

### 3.1. 실행 취소를 할 수 없는 것들

이미지를 편집하는 대부분의 작업들은 취소를 할 수 있습니다. 그에 반면 이미지 편집과 관련이 없는 작업들은 취소를 할 수가 없습니다. 예를 들어 이미지를 파일로 저장하거나 복사하거나, 이미지의 일부를 클립보드로 복사하는 경우입니다. 그리고 확대해서 보기 등 이미지에 어떠한 변형이 없는 작업도 마찬가지로 취소할 수 없습니다. 예외적으로 퀵마스크 전환은 이미지에 변형을 가하진 않지만 실행 취소가 가능합니다.

이미지에 변형을 가하지만 취소할 수 없는 작업 목록 :

이미지 닫기

  실행 취소 이력은 이미지의 구성 요소입니다. 하지만 이미지가 닫히면 그 기록은 모두 사라집니다. 그런 까닭에 이미지를 변경한 후 저장하지 않고 닫을 경우 김프는 항상 확인을 합니다(기본 설정 대화상자의 환경 페이지에서 이 기능을 중지시킬 수도 있습니다. 하지만 그로 인해 발생되는 문제는 스스로 책임을 져야 합니다).

이미지 원래대로 만들기

  “원래대로” 라는 것은 이미지를 파일로부터 다시 읽어들이는 것을 말합니다. 김프에서 이 메뉴를 실행시키면 현재 이미지를 닫고 새로 이미지를 다시 열기 때문에 실행 취소 이력은 모두 사라지게 됩니다. 이 역시 이미지가 변형되었다면 원래대로 만들기 전에 항상 실행 여부를 확인합니다.

동작의 “일부분”

  어떤 도구들은 해당 도구를 사용하기 위해 복잡한 편집과정들을 요구하기도 합니다. 이런 경우 그 각각의 과정들에 대해서는 실행 취소를 할 수 없고, 오직 전체 과정에 대한 실행 취소만 할 수 있습니다. 예를 들어 "똑똑한 가위" 도구는 이미지 위에 여러 지점을 찍어 폐쇄된 경로를 만들고, 그 내부를 클릭해서 선택을 만듭니다. 이 상태에서 실행 취소를 하면 바로 직전에 한 클릭이 아닌 "똑똑한 가위" 를 시작한 처음 지점으로 돌아갑니다. 다른 예를 들자면, 텍스트 도구를 사용할 경우, 각각의 문자나 글씨체 변환 등의 작업은 취소할 수 없고, 실행 취소를 하면 텍스트 레이어가 사라지며 새로운 텍스트 레이어가 나타납니다.

플러그인이나 스크립트에 의해 실행된 필터나 다른 작업들 역시 김프에 의해 직접 실행된 작업들처럼 실행 취소를 할 수 있는데, 단 실행 취소 기능의 사용에 문제가 없을 때만 가능합니다. 이것은 해당 플러그인이나 스크립트의 코드가 정확하지 않아서 김프의 실행 취소 기능과 충돌할 가능성이 있을 경우, 해당 작업뿐만 아니라 그 전의 작업들마저도 취소할 수 없는 일이 발생될 수 있다라는 말입니다. 김프에 포함되어 배포되는 플러그인이나 스크립트를 제외한 다른 경로로 설치한 플러그인이나 스크립트의 경우에 이런 문제가 발생할 수 있습니다. 또한 코드가 정확하더라도 해당 플러그인이 동작하는 중간에 취소를 하는 경우, 실행 취소 이력에 문제가 생길 수도 있습니다. 따라서 순차적으로 진행되는 과정 중간에 종료하지 않는 것이 이러한 문제를 피하는 최선의 방법입니다.

2.3. 대화상자와 도킹 |  | 4. 간단한 김프 사용법