3. Отмена

Почти всё, что вы делаете с изображением, может быть отменено. Вы можете отменить последнее действие выбрав в меню изображения ПравкаОтменить , но эта операция применяется так часто, что вы действительно должны запомнить клавишу быстрого доступа Ctrl-Z.

Сама отмена может быть отменена. После отмены действия вы можете вернуть его выбрав в меню изображения пункт ПравкаПовторить , или с использованием клавиши быстрого доступа, Ctrl-Y. Часто это полезно при оценке эффекта какого-либо действия, с помощью его неоднократной отмены и повтора. Обычно это происходит очень быстро, без дополнительного расхода ресурсов или изменения истории отмены, поэтому никакого вреда в этом нет.

[Предостережение] Предостережение

Если вы отмените одно или несколько действий и затем произведёте какую-либо операцию кроме отмены и возвращения, возможности вернуть те действия больше не будет: они потеряны навсегда. Решением проблемы, если вам это создает трудности, является дублирование изображения и работа с копией. (Не с оригиналом, поскольку история отмен/возвратов не копируется когда вы дублируете изображение.)

Если вы часто используете отмену и возврат на множество шагов за раз, возможно будет более удобно работать с диалогом История отмен - прикрепляемой панелью, которая показывает небольшие эскизы каждой точки в истории отмены, позволяя вам перемещаться назад или вперед к точке по которой вы щелкаете.

Для каждого изображения сохраняется своя история действий. "Истороия отмен" является компонентом изображения. Для этой цели GIMP выделяет определённое количество памяти на каждое изображение. Вы можете изменить ваши настройки для увеличения или уменьшения количества используемой памяти с помощью страницы Окружение в диалоге настроек. Здесь расположены две важные переменные: минимальное число уровней отмен, которые поддерживаются невзирая на количество потребляемой памяти, и максимально памяти для отката, после чего GIMP начнет удалять наиболее старые элементы из истории отмен.

[Замечание] Замечание

Хотя история отмен является компонентом изображения, она не сохраняется когды вы сохраняете изображение в родном для GIMP формате, XCF, который сохраняет все остальные свойства изображения. Когда изображения открыто вновь, оно будет иметь пустую историю отмен.

Реализация отмены в GIMP довольно сложна. Множество операций требуют очень мало памяти отмены (такие как изменение видимости слоя), поэтому вы можете выполнять долгие последовательности перед тем как они удалятся из истории отмен. Некоторые операции (изменение видимости слоя снова в качестве примера) являются сжатыми, поэтому выполнение их несколько раз подряд производит лишь одну точку в истории отмен. Тем не менее, существуют другие операции, которые могут потреблять много памяти отмены. Большинство фильтров являются примером этого: поскольку они реализованы плагинами, ядро GIMP не имеет никакого действительно эффективного способа узнавать что они изменили, таким образом, нет никакого способа отмены, кроме, запоминания всего содержимого затронутого слоя до и после операции. Вы можете выполнить лишь несколько таких операций прежде, чем они будут удалены из истории отмены.

3.1. Неотменяемые операции

Большинство действий, изменяющих изображение могут быть отменены. Но некоторые отменить невозможно. Такие операции как сохранение изображение в файл, дублирование изображения, копирование изображения, копирование части изображения в буфер обмена и т.д. Также сюда относятся операции включающие в себя воздействие на отображение, без изменения данных изображения. Наиболее существенным примером является масштабирование. Тем не менее. существуют и исключения: переключение видимости быстрой маски может быть отменено, если в между переключениями не изменялись данные изображения.

Существует несколько важных действий, которые изменяют изображение, но не могут быть отменены.

Закрытие изображения

История отмен является компонентом изображения, поэтому когда изображение закрывается и все его ресурсы освобождаются, история отмен уходит вместе с ним. В связи с этим, пока изображение не было изменено с последнего времени сохранения, GIMP всегда будет спрашивать подтверждения при его закрытии. (Вы можете запретить это на странице диалога настроек Окружение. Если отключили, вы берете на себя ответственность о том, что вы делаете.)

Возвращение изображения

"Возвращение" означает перезагрузку изображения из файла. GIMP реализует это с помощью закрытия изображения и создания нового изображения, в следствии чего теряется история отмен. По этой причине, если изображение подверглось изменениям, GIMP всегда будет спрашивать у вас подтверждения перед выполнением возвращения.

"Кусочки" действий

Некоторые инструменты требуют выполнения комплексного набора манипуляций перед их приминением, но позволяют отменить лишь целые операции вместо отдельных элементов. Например, "Умные ножницы" позволяют вам создавать закрытые контуры щелчками по различным точкам изображения, и затем щелчком внутри контура для создания выделения. Вы не можете отменить отдельные щелчки: отмена после завершения вернет вас к начальной точке. В другом примере, когда вы работаете с инструментом "Текст", вы не можете отменить отдельные буквы, измененния шрифта и т.д.: отмена после завершения операций удалит только что созданный текстовый слой.

Фильтры, и другие производимые плагинами или скриптами действия, могут быть отменены также как и реализовываемые ядром GIMP действия, но при условии корректного использования ими функций отмены GIMP. Если код неккоректен, плагин потенциально может испортить историю отмен, так что не только действия плагина, но и предыдущии действия более не смогут правильно отменяться. Все поставляемые с GIMP скрипты и плагины достоверно работают корректно, однако очевидно, что нет гарантий для плагинов, полученных из других источников. Также даже если код является корректным, отмена плагина во время его работы иногда может оставить историю отмен поврежденной, поэтому лучше этого избегать, если вы случайно не сделали чего-то с плохими последствиями.