3. Annullamenti

Almost anything you do to an image in GIMP can be undone. You can undo the most recent action by choosing EditUndo from the main menu, but this is done so frequently that you really should memorize the keyboard shortcut, Ctrl+Z.

Undoing can itself be undone. After having undone an action, you can redo it by choosing EditRedo from the main menu, or use the keyboard shortcut, Ctrl+Y. It is often helpful to judge the effect of an action by repeatedly undoing and redoing it. This is usually very quick, and does not consume any extra resources or alter the undo history, so there is never any harm in it.

[Attenzione] Attenzione

Se si annulla una o più azioni e dopodiché si opera sull'immagine in qualsiasi modo eccetto che con «annulla» o «ripeti», non sarà più possibile ripetere queste azioni: saranno perse per sempre. La soluzione è la seguente: duplicare l'immagine e poi operare sulla copia (non sull'originale, dato che la cronologia degli annullamenti non viene copiata insieme all'immagine).

Se vi trovate spesso ad annullare e rifare molte operazioni al colpo, potreste considerare di usare invece la finestra di dialogo della cronologia degli annullamenti, una finestra agganciabile che mostra una miniatura di ogni voce della cronologia, consentendo di andare avanti e indietro semplicemente con un colpo di clic del mouse.

L'annullamento viene eseguito su una caratteristica specifica dell'immagine: la "Cronologia degli annullamenti" è un elemento proprio dell'immagine. GIMP infatti riserva a questo scopo un certo ammontare di memoria per ogni immagine la cui quantità è modificabile attraverso la pagina Risorse di sistema della finestra delle preferenze. Le variabili importanti sono: il numero minimo di annullamenti, che GIMP mantiene indipendentemente da quanta memoria occupano, e la massima quantità di memoria annullamenti, oltre la quale GIMP comincerà a cancellare le voci più vecchie della cronologia.

[Nota] Nota

Malgrado il fatto che la cronologia degli annullamenti sia una componente dell'immagine, essa non viene salvata quando si salva un'immagine, anche se si utilizza il formato nativo di GIMP XCF che conserva ogni altra proprietà dell'immagine: quando l'immagine viene riaperta, si ottiene invariabilmente una cronologia vuota.

L'implementazione della cronologia degli annullamenti di GIMP è piuttosto sofisticata. Molte operazioni possono richiedere pochissima memoria (per es. quando si cambia la visibilità di un livello) permettendo l'esecuzione di sequenze molto lunghe di comandi prima che si renda necessaria la cancellazione dei primi dalla cronologia. Molte operazioni (il cambiamento della visibilità di un canale è il solito esempio) vengono compresse, in maniera tale che molte di esse occupino solo un punto nella cronologia. Al contrario, esistono delle operazioni che invece occupano molta memoria. Per esempio molti filtri, dato che essi sono spesso implementati come plugin, GIMP non ha modo di sapere cosa essi abbiano cambiato nell'immagine e quindi non ha altro modo di gestire l'annullamento se non quello di memorizzare l'intero contenuto del livello in oggetto prima dell'operazione. Sarà quindi possibile eseguire solo poche di tali operazioni prima che si superino i limiti della memoria di ripristino.

3.1. Operazioni che non possono essere annullate

Most actions that alter an image can be undone. Actions that do not alter the image generally cannot be undone. Examples include saving the image to a file, duplicating the image, copying part of the image to the clipboard, etc. It also includes most actions that affect the image display without altering the underlying image data. The most important example is zooming. There are, however, exceptions: toggling Quick Mask on or off can be undone, even though it does not alter the image data.

Ci sono poche importanti operazioni che modificano un'immagine ma che non possono essere annullate:

Chiusura dell'immagine

La cronologia degli annullamenti è una componente dell'immagine, per cui quando l'immagine viene chiusa, tutte le risorse che occupava vengono liberate e con esse anche la cronologia che viene persa. Per questa ragione, a menoché l'immagine non sia stata modificata dall'ultimo salvataggio, GIMP chiede sempre di confermare la chiusura dell'immagine.

Ricaricare l'immagine

«Ricaricare» un'immagine significa ricaricarla da file. GIMP esegue questo comando chiudendo l'immagine e creandone una nuova, di conseguenza la cronologia degli annullamenti viene persa. Per questa ragione, se l'immagine è stata modificata, GIMP chiede sempre se si è sicuri di voler ricaricare l'immagine.

«Pezzi» d'azione

Alcuni strumenti richiedono che si esegua una serie complessa di elaborazioni prima di avere effetto ma possono essere annullate solo in blocco e non una per volta. Per esempio le forbici intelligenti richiedono di creare un tracciato chiuso facendo clic su più punti dell'immagine per poi fare clic all'interno del tracciato per creare la selezione. Non è possibile annullare i punti individuali: l'annullamento porta invariabilmente a cancellare tutti i punti come all'inizio dell'operazione. Un altro esempio è dato dallo strumento testo; non è possibile annullare le singole lettere o il cambiamento del tipo di carattere: l'annullamento rimuove sempre il testo appena creato.

Filters, and other actions performed by plug-ins or scripts, can be undone just like actions implemented by the GIMP core, but this requires them to make correct use of GIMP's Undo functions. If the code is not correct, a plug-in can potentially corrupt the Undo History, so that not only the plug-in but also previous actions can no longer properly be undone. The plug-ins and scripts distributed with GIMP are all believed to be set up correctly, but obviously no guarantees can be given for plug-ins you obtain from other sources. Also, even if the code is correct, canceling a plug-in while it is running may corrupt the Undo History, so it is best to avoid this unless you have accidentally done something whose consequences are going to be very harmful.