The Clone tool uses the current brush to copy from an image or pattern. It
has many uses: one of the most important is to repair problem areas in
digital photos, by "painting over" them with pixel data from other areas.
This technique takes a while to learn, but in the hands of a skilled user
it is very powerful. Another important use is to draw patterned lines or
curves: see Patterns
for examples.
If you want to clone from an image, instead of a pattern, you must tell
GIMP which image you want to copy from. You do this by holding down the
Ctrl key and clicking in the desired source image. Until you have set the
source in this way, you will not be able to paint with the Clone tool:
the tool cursor tells you this by showing a “forbidden”
symbol.
If you clone from a pattern, the pattern is tiled;
that is, when the point you are copying from moves past one of the
edges, it jumps to the opposite edge and continues, as though the pattern
were repeated side-by-side, indefinitely. When you clone from an image
this does not happen: if you go beyond the edges of the source, the Clone
tool stops producing any changes.
You can clone from any drawable (that is, any layer, layer mask, or
channel) to any other drawable. You can even clone to or from the
selection mask, by switching to QuickMask mode. If this means copying
colors that the target does not support (for example, cloning from an RGB
layer to an Indexed layer or a layer mask), then the colors will be
converted to the closest possible approximations.
3.10.1.
How to Activate
The Clone tool can be activated from an image menu as
Tools->Paint Tools->Clone;
from the Toolbox by clicking on the tool icon
; or from the keyboard using the shortcut
c, or
S under GIMP-2.10.
3.10.2.
Key modifiers
See the Brush Tools Overview
for a description of key modifiers that have the same effect on all
brush tools.
Ctrl
The Ctrl key is used to select the source, if you are cloning from
an image: it has no effect if you are cloning from a pattern. You
can clone from any layer of any image, by clicking on the image
display, with the Ctrl key held down, while the layer is active
(as shown in the Layers dialog). If the Alignment is set to
"Non-aligned" or "Aligned" in the Tool Options, then the point you
click on becomes the origin for cloning: the image data at that
point will be used when you first begin painting with the Clone
tool. In source-selection mode, the cursor changes to a
crosshair-symbol.
3.10.3.
Tool Options
Figure 8.34.
Tool Options for the Clone tool
Note
See the Brush Tools
Overview for a description of tool options that apply to
many or all brush tools.
Pattern
Clicking on the pattern symbol brings up the Patterns dialog,
which you can use to select the pattern to paint with. This option
is only relevant if you are cloning from a Pattern source.
Source
The choice you make here determines whether data will be copied
from the pattern shown above, or from one of the images you have
open. If you choose “Image source”,
you must tell GIMP which layer to use as the source, by
Ctrl-clicking on it, before you can paint with the tool.
Alignment
The Alignment mode sets how the source position is offset from
each brush stroke.
Non-aligned
Aligned
Registered
Above: schematic illustration of the three possible alignment
modes. The mouse cursor is shown as a red rectangle, and the
source point as a black crosshair.
Non-aligned.
In this mode, each brushstroke is treated separately. For
each stroke, the point where you first click is copied from
the source origin; there is no relationship between one
brush stroke and another. In non-aligned mode, different
brush strokes will usually clash if they intersect each
other.
Aligned.
In this mode, the first click you make when painting sets
the offset between the source origin and the cloned result,
and all subsequent brushstrokes use the same offset. Thus,
you can use as many brushstrokes as you like, and they will
all mesh smoothly with one another.
If you want to change the offset, you can do this by switching
to non-aligned mode, painting one stroke, then switching back
to aligned mode. Subsequent strokes will use the same offset
as the first stroke.
Registered.
This mode copies each pixel in the source to the pixel with
the same offset in the target. It is most commonly useful
when you want to clone from one layer to another layer
within the same image. It is also useful when cloning from a
pattern, if you want the left or upper edges of the pattern
to line up precisely with the corresponding edges of the
target layer.
3.10.4.
Further Information
Transparency
The effects of the Clone tool on transparency are a bit
complicated. You cannot clone transparency: if you try to clone
from a transparent source, nothing happens to the target. If you
clone from a partially transparent source, the effect is weighted
by the opacity of the source. So, assuming 100% opacity and a hard
brush:
Cloning translucent black onto white produces gray.
Cloning translucent black onto black produces black.
Cloning translucent white onto white produces white.
Cloning translucent white onto black produces gray.
Cloning can never increase transparency, but, unless "keep
transparency" is turned on for the layer, it can reduce it.
Cloning an opaque area onto a translucent area produces an opaque
result; cloning a translucent area onto another translucent area
causes an increase in opacity.
"Filter" brushes
There are a few non-obvious ways to use the Clone tool to obtain
powerful effects. One thing you can do is to create "Filter
brushes", that is, create the effect of applying a filter with a
brush. To do this, duplicate the layer you want to work on, and
apply the filter to the copy. Then activate the Clone tool,
setting Source to "Image source" and Alignment to "Registered".
Ctrl-click on the filtered layer to set it as the source, and
paint on the original layer: you will then in effect be painting
the filtered image data onto the original layer.
History brush
You can use a similar approach to imitate Photoshop's "History
brush", which allows you to selectively undo or redo changes using
a brush. To do this, start by duplicating the image; then, in the
original, go back to the desired state in the image's history,
either by undoing or by using the Undo History dialog. (This must
be done in the original, not the copy, because duplicating an
image does not duplicate the Undo history.) Now activate the Clone
tool, setting Source to "Image source" and Alignment to
"Registered". Ctrl-click on a layer from one image, and paint on
the corresponding layer from the other image. Depending on how you
do it, this gives you either an "undo brush" or a "redo brush".
Published under the terms of the GNU General Public License