Category Archives: Intermediate

Script-Fu and Code Samples

Recently, I began to examine Script-Fu code within GIMP because I wanted to reduce repeated, manual steps in my workflow process.  I am aware that I do way too many steps manually, and doing so up to this point has helped me understand the mechanics of what I wanted to accomplish.  However, the time I can save moving forward exponentially increases when scripting can handle a majority of the tasks I OVER-perform manually.

I am a .Net programmer by trade, so the hardest part for me was to try to understand *how to understand* the syntax of Script-Fu, which is written in TinyScheme.  In addition, not having an interactive debugger at my disposal really made it hard to get started.  Thankfully there are a few decent tutorials at YouTube that gave me a great understanding of how to get started with scripting in GIMP.   The most helpful is a 4-part series that begins here.

Most web searches you make will end up pointing you to the registry for GIMP plug-ins, which is a great resource for both scripts (TinyScheme and Python) and plug-ins.  The problem is with the registry is that some code is documented great, while other code is just posted with a “It worked for me – – you figure it out if you want” mentality.  There are some great, regular contributors you can use to piece together your own scripts.  Coming from a coder, please respect other authors’ wishes in scripts by following their usage guidelines for the code that they post in the headings of their scripts.  I don’t have any experience interacting on the forums, so I can’t be of any help there.

To use scripts in GIMP, please refer to the many sites that give you detailed instructions.  There’s no need for me to re-post what many others have already taken time and effort to do.

Keep an eye out on this site for well-documented and simple scripts that illustrate focused functions.  My biggest frustration as a coder is not being able to find small, focused script samples that show me how to do something useful right out of the box with TinyScheme and GIMP.  Once you understand how to write small, functional code, you can build on it to write more compound code that performs more steps, integrates looping and/or decision-making and can automate a large grouping of commands into a useful process.

If you know of any decent TinyScheme/GIMP scripting resources, please comment below.

Create a Transparent and Embossed Watermark in GIMP

This tutorial will show you how to put an embossed, transparent watermark on your photos using GIMP.  By placing a watermark, you can place a copyright or other information that becomes part of the entire photo.  Many photographers use these to sign their work and to prevent others from using their work without proper permissions.  I like to use them to identify my photos and also include a date.

I adapted a YouTube video by Pat David for these steps.  Many thanks to Mr. David for showing me how to accomplish this task.

For this tutorial, I assume that you have GIMP installed and that you will download the sample image and be able to load it into GIMP.

The sample image was found on, but has been copied to this server for availability purposes.  Download the sample image to your own machine before starting the tutorial.


1.  Create a new layer with a white background.  By default, it will be the same size as your image that is already loaded in GIMP.
2.  Click your foreground color in the toolbox to show the Change Foreground Color dialog window.  Set your “H” value to 50 and click OK.


3.  On the white layer, name it “Text”.  Use the text tool in the toolbox and type what you want your watermark to say.  Here, many may want to use a copyright symbol and their name to identify that the image is protected.  You can make the copyright symbol, at least in MS Windows, by pressing the left ALT key and typing 0169 on the number pad.  You may need to search to learn how to produce the copyright character on your device and operating system.  I will make a watermark that reads “© John Doe 2014”.  I used a 96 point font, I copied in the copyright character and typed the rest.
4.  Notice that your text shows as a floating layer in your layer windows, which is normal.
5.  Hide your white background layer
6.  Duplicate the floating text layer
7.  Select your middle layer, the original floating text layer.  Click Colors, and move the output level all the way to the right to make it white.  If you hide the topmost layer, your will see that the current layer is text in pure white.

8.  Apply a Gaussian Blur to the white text layer by clicking Filters, Blur, Gaussian Blur.
9.  Click the Move tool in your toolbox and gently move the text layer up and to the left a bit.  The letters show with more perspective and look a little thicker than just being flat text.


10.  Duplicate the white text layer again.  Repeat the color output process on the newly duplicated layer and make its ouput pure black.
11.  Move the newly created layer with the Move tool in the OPPOSITE direction that you moved the white layer.  Note that you should see black and white in your image and the letters will appear to have a 3-D appearance.


12.  Right click the topmost layer and choose “New from Visible”
13.  Use your rectangle selection tool and select your image and click Image, Crop to Selection
14.  Open your image that you’d like to apply the watermark.
15.  Copy the layer with your cropped watermark from your GIMP project and paste it over your image in its GIMP window as a new layer (Edit, Paste As, New Layer)
16.  Use the Move tool to postion the watermark.  You may need to click Layer, Scale Layer to size your watermark.
17.  Change the watermark’s layer to Overlay.  In overlay, greys are interpreted as transparent, so that is why your watermark was made in grey colors.
18.  Your watermark will appear semi-transparent on your image.  If you want it to appear a little darker, duplicate its layer.


19.  Use the File, Export As… feature to save your image to include the watermarked overlay.
20.  Procedure complete.