mirror of https://github.com/GNOME/gimp.git
52 lines
1.6 KiB
Plaintext
52 lines
1.6 KiB
Plaintext
Gimp Image Pipe Format
|
|
|
|
The gih format is use to store a series of brushes, and some extra info
|
|
for how to use them.
|
|
|
|
Basically, the format is real simple. It is a text header, followed
|
|
by a series of gbr files, all concatenated together.
|
|
|
|
An image pipe can be thought of as an n-dimensional array of brushes.
|
|
Each dimension is indexed when the pipe is used in painting by some
|
|
parameter, eg an incremental counter, a random value, pointing device
|
|
pen pressure,tilt or velocity , etc.
|
|
|
|
An idea for how to implement editing of image pipes (with GIMP) is
|
|
that each layer of the edited image representing the pipe is divided
|
|
conceptually (and visualized by guides) into equal-sized elements,
|
|
each element containing one pixmap brush. The typical cases are only
|
|
one layer, with an array of brushes, or many layers, with just one
|
|
brush per layer. (For instance something produced by some animator.)
|
|
|
|
The header format
|
|
================
|
|
|
|
First line is the name of the pipe.
|
|
Second line is the number of brushes in file, followed by the contents of
|
|
the gimp-image-pipe-parameters parasite (a text string)
|
|
|
|
ie
|
|
===========================
|
|
Fire
|
|
6 ncells:6 step:20 dim:1 cols:3 rows:2 rank0:6 selection:incremental
|
|
===========================
|
|
|
|
The rest is just gbr files catted in.
|
|
|
|
Making a gih file:
|
|
|
|
1. Create a series of gbr files. Note these do not
|
|
need to be the same size.
|
|
|
|
2. Create a text header like above.
|
|
|
|
3. Combine them all together:
|
|
|
|
cat header brush1.gbr brush2.gbr brush3.gbr > foo.gih
|
|
|
|
|
|
Or use the GIH plug-in to save a brush pipe from an image.
|
|
|
|
|
|
That's about it for now.
|