3. 실행 취소

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

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

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

[경고] 경고

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

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

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

[참고] 참고

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

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

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

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

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

이미지 닫기

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

이미지 원래대로 만들기

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

동작의 “일부분

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

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