5.2. Creating animated brushes

Just like for normal brushes, these animated brushes can also be either grayscale or color. For grayscale images, where the actual brush will use the current foreground color, you use white for transparency. For color images, transparent parts are used as such and when making brush strokes, the actual colors will be used instead of the foreground color.

To create a new animated brush, create either a grayscale or color image, based on whether you want the brush to use the user's foreground color, or the actual colors in the image. Then create the images for your animation steps. To save the brush into gih format, select FileExport As…, name your work with the gih extension, and press the Export button. The following window is displayed:

Fig. 7.18. Dialog to export an image as Brush Pipe

Dialog to export an image as Brush Pipe

Dialog to export an image as GIMP image hose


This dialog box has several options that allow you to select how your brush is animated.

Spacing (Percent)

Spacing is the distance between consecutive brush marks when you trace out a brushstroke with the pointer. You must consider drawing with a brush, whatever the paint tool, like stamping. If Spacing is low, stamps will be very close and stroke look continuous. If spacing is high, stamps will be separated: that's interesting with a color brush (like green pepper for instance). Value varies from 1 to 200 and this percentage refers to brush diameter: 100% is one diameter.

Description

It's the brush name that will appear at the top of Brush Dialog (grid mode) when the brush is selected.

Cell Size

That is size of cells you will cut up in layers. Default is one cell per layer and size is that of the layer. Then there is only one brush aspect per layer.

We could have only one big layer and cut up in it the cells that will be used for the different aspects of the animated brush.

For instance, we want a 100×100 pixels brush with 8 different aspects. We can take these 8 aspects from a 400×200 pixels layer, or from a 300×300 pixels layer but with one cell unused.

Number of cells

That's the number of cells (one cell per aspect) that will be cut in every layer. Default is the number of layers as there is only one layer per aspect.

Display as

This tells how cells have been arranged in layers. If, for example, you have placed height cells at the rate of two cells per layer on four layers, GIMP will display: 1 rows of 2 columns on each layer.

Dimension, Ranks, Selection dropdown

There things are getting complicated! Explanations are necessary to understand how to arrange cell and layers.

GIMP starts retrieving cells from each layer and stacks them into a FIFO stack (First In First Out: the first in is at the top of the stack and so can be first out). In our example 4 layers with 2 cells in each, we'll have, from top to bottom: first cell of first layer, second cell of first layer, first cell of second layer, second cell of second layer, …, second cell of fourth layer. With one cell per layer or with several cells per layer, result is the same. You can see this stack in the Layers Dialog of the resulting .gih image file.

Then GIMP creates a computer array from this stack with the Dimensions you have set. You can use four dimensions.

In computer science an array has a myarray(x,y,z) form for a 3 dimensions array (3D). It's easy to imagine a 2D array: on a paper it's an array with rows and columns

With a 3d array we don't talk rows and columns but Dimensions and Ranks. The first dimension is along x axis, the second dimension along y axis, the third along z axis. Each dimension has ranks of cells.

To fill up this array, GIMP starts retrieving cells from the top of stack. The way it fills the array reminds that of an odometer: right rank digits turn first and, when they reach their maximum, left rank digits start running. If you have some memories of Basic programming you will have, with an array(4,2,2), the following succession: (1,1,1),(1,1,2),(1,2,1),(1,2,2),(2,1,1),(2,1,2),(2,2,2),(3,1,1),…, (4,2,2). We will see this later in an example.

Besides the rank number that you can give to each dimension, you can also give them a Selection mode. You have several modes that will be applied when drawing:

Incremental

GIMP selects a rank from the concerned dimension according to the order ranks have in that dimension.

Angular

GIMP selects a rank in the concerned dimension according to the moving angle of the brush.

The first rank is for the direction 0°, upwards. The other ranks are affected, clockwise, to an angle whose value is 360/number of ranks. So, with 4 ranks in the concerned dimension, the angle will move 90° clockwise for each direction change: second rank will be affected to 90° (rightwards), third rank to 180° (downwards) and fourth rank to 270° (-90°) (leftwards).

Random

GIMP selects a rank at random from the concerned dimension.

Velocity, Pressure, X tilt, Y tilt

These options are for sophisticated drawing tablets.

Examples

A one dimension image pipe

Well! What is all this useful for? We'll see that gradually with examples. You can actually place in each dimension cases that will give your brush a particular action.

Let us start with a 1D brush which will allow us to study selection modes action. We can imagine it like this:

Follow these steps:

  1. Select FileNew… from the main menu.

    Set Width and Height for example to 30 pixels.

    In the Advanced Options, set the Color space to RGB color and set Fill with to Transparency.

    Using the Text tool create 4 layers 1, 2, 3, 4. Delete the background layer.

  2. Select FileSave… from the main menu to first save your image as an .xcf file to keep its properties.

    Select FileExport As… from the main menu to export the image as an animated brush with the .gih extension.

    Export the image with a .gbr extension in the brushes directory located inside your personal GIMP configuration folder.

  3. In the Export Image as Brush Pipe dialog, provide a Description, set the Spacing (percent) to 100, set the Cell size to 30×30, set Dimension to 1, and set Ranks to 4, and the Selection drop-down to incremental. Then click the Export button.

  4. In the Brush Dialog, click on the button Refresh brushes .

    Your brush appears among the other brushes. You can use it immediately, without restarting GIMP.

    Select your brush. Select pencil tool for instance and click and hold with it on a new image:

    You see 1, 2, 3, 4 digits following one another in order.

  5. Take your .xcf image file back and export it as .gih setting the Selection drop-down to random:

    Digits will be displayed at random order.