3. Desfazendo

Quase tudo que você faz para uma imagem no GIMP pode ser desfeito. Você pode desfazer a ação mais recente, escolhendo EditarDesfazer no menu imagem, mas isso é feito com tanta frequência que você realmente deveria memorizar o atalho do teclado Ctrl+Z.

A própria ação de Desfazer pode ser desfeita. Depois de ter desfeito uma ação, você pode refazer, selecionando EditarRefazer a partir do menu de imagem, ou usar o atalho de teclado Ctrl+Y. Muitas vezes, é útil para avaliar o efeito de uma ação várias vezes desfazendo e refazendo. Isto é normalmente muito rápido, e não consome quaisquer recursos adicionais nem altera o histórico de desfazer, de modo que nunca há mal nenhum nisso.

[Cuidado] Cuidado

Se você desfizer uma ou mais ações e operar na imagem de alguma forma, exceto usando Desfazer ou Refazer, deixará de ser possível refazer essas ações: elas serão perdidas para sempre. A solução, se isso for um problema para você, é duplicar a imagem, depois de desfazer até o ponto desejado, e testar as novas operações na cópia. (Não testar na imagem original, porque o histórico de desfazer/refazer não é copiado quando você duplica uma imagem.)

Se você costuma ficar desfazendo e refazendo muitos passos de cada vez, pode ser mais conveniente para trabalhar com o diálogo de Histórico do Desfazer, um diálogo de encaixe que mostra um pequeno esboço de cada ponto no Histórico de desfazer, permitindo-lhe voltar ou andar pra frente até esse ponto, só clicando no mesmo.

Desfazer é executada numa base de imagem específica: o "Histórico do Desfazer" é um dos componentes de uma imagem. O GIMP aloca uma certa quantidade de memória para cada imagem para este propósito. Você pode personalizar as suas preferências para aumentar ou diminuir essa quantidade, usando a página Ambiente da janela de Preferências. Existem duas variáveis importantes: o Número mínimo de níveis de desfazer, que o GIMP manterá independentemente da quantidade de memória que consomem, e o Máximo de memória para desfazer, além do que o GIMP vai começar a apagar os itens mais antigos do Histórico do desfazer.

[Nota] Nota

Mesmo que o Histórico de desfazer seja um componente de uma imagem, ele não é salvo quando você salva a imagem usando o formato XCF nativo do GIMP, que preserva todas as outras propriedades da imagem. Quando a imagem é reaberta, ela terá um Histórico do desfazer vazio.

A implementação de Desfazer do GIMP é bastante sofisticada. Muitas operações exigem muito pouca memória para Desfazer (por exemplo, alterar a visibilidade de uma camada), para que você possa realizar longas sequências delas antes que elas saiam do histórico de desfazer. Algumas operações, como alterar a visibilidade da camada, são compactadas, para que fazê-las várias vezes em uma série produza apenas um único ponto no histórico de desfazer. No entanto, há outras operações que podem consumir uma grande quantidade de memória para desfazer. A maioria dos filtros são implementados por plug-ins, desta forma o núcleo do GIMP não tem nenhuma maneira eficiente de saber o que mudou. Como tal, não há maneira de implementar Desfazer exceto memorizando os conteúdos inteiros da camada antes e depois da operação ser executada . Pode ser que você seja capaz de realizar apenas algumas dessas operações antes delas saírem do histórico do desfazer.

3.1. Coisas que não podem ser desfeitas

A maioria das ações que alteram uma imagem podem ser desfeitas. Ações que não alteram a imagem geralmente não podem ser desfeitas. Exemplos incluem salvar a imagem em um arquivo, duplicar a imagem, copiar parte da imagem para a área de transferência, etc. Elas também incluem a maioria das ações que afetam a visualização da imagem sem alterar os dados da imagem subjacente. O exemplo mais importante é o zoom. Existem, no entanto, as exceções: Alternar a Máscara Rápida para ligada ou desligada pode ser desfeito, mesmo que isso não altere os dados de imagem.

Existem algumas ações importantes que alteraram uma imagem e não podem ser desfeitas:

Fechar a imagem

O Historico do desfazer é um componente da imagem, por isso quando a imagem está fechada e todos os seus recursos são liberados, o histórico do desfazer se foi. Devido a isso, a menos que a imagem não tenha sido modificada desde a última vez que ela foi salva, o GIMP sempre pede que você confirme que você realmente quer fechar a imagem. (Você pode desativar isso na página Ambiente da janela de Preferências, se você fizer isso, você está assumindo a responsabilidade de pensar sobre o que está fazendo.)

Reverter a imagem

Reverter significa recarregar a imagem do arquivo. O GIMP implementa isso fechando a imagem e criando uma nova imagem, e portanto, o histórico de desfazer é perdido como consequência. Devido a isso, se a imagem foi alterada, o GIMP lhe pede para confirmar se você realmente quer reverter a imagem.

Pedaços de ações

Algumas ferramentas requerem que você realize uma série complexa de manipulações antes que eles entrem em vigor, mas só permitem desfazer a coisa toda em vez de elementos individuais. Por exemplo, as Tesouras Inteligentes exigem a criação de um caminho fechado, clicando em vários pontos na imagem, e em seguida, clicando no interior do caminho para criar uma seleção. Você não pode desfazer os cliques individuais: desfazer depois que você termina leva todo o caminho de volta ao ponto de partida. Em outro exemplo, quando você está trabalhando com a ferramenta de texto, você não pode desfazer letras individuais, alterações de fonte, etc: desfazer depois que você termina remove a camada de texto recém-criada.

Filtros e outras ações realizadas por plug-ins ou scripts, podem ser desfeitos assim como ações implementadas pelo núcleo do GIMP, mas isso requer que os mesmos façam uso correto das funções de Desfazer do GIMP. Se o código não está correto, um plug-in pode possivelmente corromper o histórico de desfazer, de modo que não apenas a ação do plug-in, mas também ações anteriores não possam mais serem desfeitas adequadamente. Acredita-se que plug-ins e scripts distribuídos junto com o GIMP estão todos configurados corretamente, mas, claro que nenhuma garantia pode ser dada para plug-ins que você obtenha de outras fontes. Além disso, mesmo se o código estiver correto, o cancelamento de um plug-in durante a execução pode corromper o histórico de desfazer, por isso é melhor evitar fazer isso a menos que você, acidentalmente, tenha feito algo cujas consequências vão ser muito prejudiciais.