You are here

CloneLayer Tool - GIMP 2.7.x - Updated!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Rate this item!

Hello all!

I'm web-developer. I use the Gimp for making a web2-widgets or for small parts of design.
Usually, my work requires frequent duplication of layers and their exact placement on the canvas. However, the Gimp does not have a tool to perform batch processing of images (layers). So, I decided to write a small plugin that solves this problem. And I did it! I hope it will useful for you....
But the way, it is my first C plugin for GIMP under GTK framework. So be tolerant to me :)

About plugin:
"CloneLayer Tool" is a C plugin for Gimp 2.7 to automatically duplicate layers and apply to them some transformation and visual effects like - rotate, scale, move, blur and others....
This plugin works like batch processor which helps to make a set of clone layers with transformation on each of them.
Plugin shows the all change in "live mode" - on the gimp canvas (just set needed values and click on the "Clone"). So you can preview results before apply any changes.

Some Examples:

Video Tutorials:
1. "The Gears" -
Part#1 -
Part#2 -
Part#3 -

CloneLayer Tool can be used in following cases:
- to create an intricate pattern from simple geometric shapes. For example, you can create a star from simple curve, or a flower from an oval, or a snowflake from rectangle, etc. ...

- to create multiple copies of image (layer) and place them at a certain distance from each other.

- to create a composite image with a precise geometric arrangement of each of its parts. For example, a gear, a clock face, etc. ...

Once the plugin is installed successfully, the plugin can be found in The GIMP
using the menu "Layer->Clone-Layer Tool...".
It works for full image on the current layer. The selected region is ignored. (It will fixed in further)

The plugin dialog allows to adjust many parameters which sorted by groups:

The General Parameters:

Clone Times - how many clones must be created - from 1 to 1000;

Interpolation - uses for transformation (rotate, resize);

Add clone layers as -
- One layer - it will merge all clones to one layer;
- Grouping clone layers;
- Each clone to layer;

Autocroping layer -
if checked - remove empty borders from the layer;
else - resize layer to image size;

Orders -
- UP - add new clone above previous layer ;
- DOWN - add new clone under previous layer;

Resize (scale) group:
- provides some values to set a fixed and random step to increase/decrease width or height of layer.
Keep aspect - enabled a proportional scaling.
Resize Type - sets direction of resize - to Top/Left corner, etc....

Rotation group:
- provides parameters to set a fixed and random angle to rotate layer on each clone.
Coordinates -
Rotate Center X and Center Y - a rotate points
Get Coordinates - to set Center X and Center Y point by corners - Top/Right; Buttom/Left, ect ...

Move group:
- provides parameters to set a fixed and random step to increase/decrease distance between layers on each clone;
Move Layer From - selects corners between two layers to set a distance for them.

Effects group:
- has a few visual filters (effects) that could be added to layers. There are opacity and blur filters at the moment.
Opacity - you can set fixed or random step to increase/decrease transparency.
Blur - the same, but for the blur.
(new!) Colorize - you can change image hue by fixed or random step.
(new!) Noise Spread - the same like blur, but for the noise spread.
(new!) Drop Shadow - adding shadow under image.
(Note, the shadow area don't calculate on Move-steps!)

(new!) Animate group:
- this feature provide a simple way to manage the GIMP animate layers,
such as mode animation layer and speed layer.
On/Off - enable/disable animation setting.
Animation setting for First/Next and Last layer -
Mode layer - [combine|replace|none]
Speed - speed in ms/ from 0 to 10000.

...each setting will been added to end of layer name.
for ex.: layer_name-clt #1(300ms)(replace)

"CloneLayer Tool" is under development yet! And some features are incomplete!
Please, save your work before apply this plugin, or make duplicate image!
(The plugin doesn't provide undo step! So, for this reason a result of work will added at new layer and original layer will saved too. )

Sorry for my English! But, I hope you understand what I wrote above ;)
If not - sorry again ((

INSTALL from source
For Linux and Unix users
For a system wide installation simply state:

$gimptool-2.0 --install clone-layer-tool.c

A restart of The GIMP is recommended.

For Window users
C:\gimptool-2.0 --install-admin c:\pach_to_plugin_src\clone-layer-tool.c

!!! Note !!!
1. If your GIMP was installed to \Program Files\, you must reinstall it into
folder which non contains a blank space in the name!
i.e.: c:\gimp\ or d:\gimp_2.7\, ...

2. gimptool-2.0 required GTK+ libs and installed MiniGW!
Please install all needed soft and libs on your machine before compile plugin
using gimptool-2.0.

INSTALL from binary
copy Linux binary or Windows executable file to system or user plug-in folder:
for *nux - ~/gimp-2.7/plug-ins
for win* - C:\Documents and Settings\user_name\.gimp-2.7\plug-ins

Archive name - type:
gimp-clt-v0.2b-src.tar - source files to compile using gimptool-2.0. All platforms!
gimp-clt-v0.2b-bin.tar - Linux binary file - Windows executable file - win64 executable file
(thanks to samj - )

GIMP Version: 
Code License: 


Excellent plug-in for Gimp.Exactly if not better than Inkscapes Interpolation filter! :)
I can not wait to try out these new features you added to it.

Can this be used in Gimp-2.6.11?


> Can this be used in Gimp-2.6.11?
no, sorry :(
this plugin was written on GIMP 2.7 C API

Already thanks Remy for the heads up at GIMPChat, but I'll thank you directly for doing the 64-bit compile samj. Much appreciated. :)

Merci beaucoup!

Ça m'a fait plaisir!

That plugin looks very usefull, however I can't compile the source files on ubuntu 11.04 :
In file included from run.c:12:0,
from clone-layer-tool.c:17:
dialog.c: In function ‘clone_dialog’:
dialog.c:1599:21: warning: assignment from incompatible pointer type
In file included from clone-layer-tool.c:21:0:
/usr/include/gimp-2.0/libgimp/gimplayer_pdb.h: At top level:
/usr/include/gimp-2.0/libgimp/gimplayer_pdb.h:24:2: error: #error "Only can be included directly."

On a sidenote, the ubuntu binary file available on your website is just a simlink, not an actual file.

to tcharlss & priard:

"/usr/include/gimp-2.0/libgimp/gimplayer_pdb.h:24:2: error: #error "Only can be included directly."

 please, open clone-layer-tool.h in any text editor and add comment at start of line:
//#include <libgimp/gimplayer_pdb.h>
and compilation will run good!

"On a sidenote, the ubuntu binary file available on your website is just a simlink, not an actual file."

try download binary now. I uploaded new archive with real file inside!

Same here. Kubuntu 11.04 with Gimp 2.7.3 from ppa.

Anyway possible to add additional features like drop shadow effects? Or even allow you to add any available plugin(s) as you process each of the layers? Just curious. Still, a very useful and cool plugin Remy. :)


Subscribe to Comments for "CloneLayer Tool - GIMP 2.7.x - Updated!"