How would I go about creating an animation in GIMP which gives the following result: The animation starts with an annulus at the centre of a transparent background, which then enlarges until it disappears off the edge of the image entirely? Say the "thickness" of the annulus is 20 pixels. Is this even possible?

I guess I could echieve the result if I could at least create an animation which enlarged a circle from 0 radius to a radius equal to max(width/2, height/2) of the image. I could then subtract two such animations to get my animated annulus. However, I'm not even sure how to do the enlarging circle animation !

2 Answers 2


Yes, of course. You could do it like this.

  1. Create a new 600 x 600px square image, delete the background layer

  2. Create a new transparent layer.

  3. Drop two guides smack in the middle at 300px, one horizontal and one vertical.

  4. Use the ellipse select tool to create a circle that almost fills the square, making sure it is centred on the centre origin as shown by the guides. Tip: use CTRL+ALT+SHIFT as you click and drag to constrain the shape to a circle, and to keep it centred on the origin.

  5. Turn the selection into a path.

  6. Stroke the path with a 20px brush.

  7. Add a new transparent layer, and drag it under the previous layer.

  8. Choose the scale tool, using the Transform Paths option.

  9. Scale the path smaller to make the next circle inside the first, centring it using the guides, and hit scale.

  10. Repeat steps 6 to 9, until you reach the smallest ring.

  11. Crop the image to a smaller square, small enough so that the last circle (in the top layer) fills only the corners of the crop.

  12. Click File > Export As > give it a new file name and end with the file extension .gif, click Export.

  13. When the GIF export dialog appears check the following options: As animation, one frame per layer replace, use disposal entered above for all frame layers. Hit Export.

Here's the result. Stare at it long enough and you will be hypnotised!

enter image description here

  • Thank you. Is there any way to automate this so that I can select the number of frames required. I guess I would have to write a plug in for that...
    – user9146
    Commented Sep 14, 2017 at 19:15
  • 1
    GIMP already has an animation plugin called GAP. I don't use it myself , but it might help you. You can download the Windows version here: photocomix-resources.deviantart.com/art/…
    – Billy Kerr
    Commented Sep 14, 2017 at 19:18
  • Thanks. I can install the Ubuntu version using sudo apt-get install gimp-gap.
    – user9146
    Commented Sep 14, 2017 at 19:28

There are scripts for this:

  1. use ofn-path-to-shape to create two circle paths (inner and outer).
  2. use path-inbetweener to generate the intermediate paths
  3. use stroke-visible-paths to generate the frames.

enter image description here

The image above was generated using the "swing" option in path-inbetweener to have a sine-function spacing (but of course there is also a "linear" option), and the mirror-layers script to generate and inverted copy of the stack.

Note: path-inbetweener requires the start and end paths to have the same number of anchors. Using ofn-path-to-shape to create them guarantees this. Making a path from a circle selection doesn't.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.