3. Undoing

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.

[Výstraha] Výstraha

If you undo one or more actions and then operate on the image in any way except by using Undo or Redo, it will no longer be possible to redo those actions: they are lost forever. The solution to this, if it creates a problem for you, is to duplicate the image and then test on the copy. ( Do Not test the original, because the undo/redo history is not copied when you duplicate an image.)

Pokud často vracíte a či obnovujete mnoho změn najednou, bude se vám lépe pracovat s dialogem Historie změn. Jedná se o dokovatelný dialog zobrazující náhled všech změn v historii a umožňující mezi jednotlivými body historie přecházet jednoduchým klikáním.

Undo is performed on an image-specific basis: the "Undo History" is one of the components of an image. GIMP allocates a certain amount of memory to each image for this purpose. You can customize your Preferences to increase or decrease the amount, using the System Resources page of the Preferences dialog. There are two important variables: the minimal number of undo levels, which GIMP will maintain regardless of how much memory they consume, and the maximum undo memory, beyond which GIMP will begin to delete the oldest items from the Undo History.

[Poznámka] Poznámka

Even though the Undo History is a component of an image, it is not saved when you save the image using GIMP's native XCF format, which preserves every other image property. When the image is reopened, it will have an empty Undo History.

GIMP's implementation of Undo is rather sophisticated. Many operations require very little Undo memory (e.g., changing visibility of a layer), so you can perform long sequences of them before they drop out of the Undo History. Some operations, such as changing layer visibility, are compressed, so that doing them several times in a row produces only a single point in the Undo History. However, there are other operations that may consume a lot of undo memory. Most filters are implemented by plug-ins, so the GIMP core has no efficient way of knowing what changed. As such, there is no way to implement Undo except by memorizing the entire contents of the affected layer before and after the operation. You might only be able to perform a few such operations before they drop out of the Undo History.

3.1. Nevratné operace

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.

Existuje několik důležitých operací, které mění obrazová data, ale přesto je nelze vrátit zpět:

Zavření obrázku

The Undo History is a component of the image, so when the image is closed and all of its resources are freed, the Undo History is gone. Because of this, unless the image has not been modified since the last time it was saved, GIMP always asks you to confirm that you really want to close the image.

Navrácení obrázku

Reverting means reloading the image from the file. GIMP actually implements this by closing the image and creating a new image, so the Undo History is lost as a consequence. Because of this, if the image is unclean, GIMP asks you to confirm that you really want to revert the image.

Části operací

Některé nástroje vyžadují pro své použití celou komplexní řadu akcí, ale umožňují vrátit jen celou tuto řadu jako celek, nikoliv její jednotlivé části. Například inteligentní nůžky vyžadují vytvoření uzavřené křivky klikáním na více bodů v obrázku a následné kliknutí do vymezené oblasti pro vytvoření výběru. Nelze však vracet jednotlivá kliknutí, příkaz Zpět vás vrátí na začátek, před použití nůžek. Jiným příkladem je textový nástroj, který neumožňuje vracet jednotlivá písmeny či změny formátování. Příkaz Zpět v vás opět vrátí na začátek, před použití textového nástroje.

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.