mirror of https://github.com/GNOME/gimp.git
67 lines
1.8 KiB
Plaintext
67 lines
1.8 KiB
Plaintext
Gimp Image Pipe Format
|
|
|
|
The gih format is use to store a series of pixmap 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 gpb files, all concatenated together.
|
|
|
|
An image pipe can be thought of as an n-dimensional array of pixmap
|
|
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 the 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 gpb files catted in.
|
|
|
|
Making a gih file:
|
|
|
|
1. Create a series of gpb 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.gpb brush2.gpb brush3.gpb > foo.gih
|
|
|
|
|
|
Thats about it for now.
|
|
|
|
|
|
Other bits:
|
|
==========
|
|
|
|
The spacing for the pipe is currently based on the spacing
|
|
for the last brush in the pipe.
|
|
|
|
WARNING:
|
|
=======
|
|
|
|
The header file format, and possible the entire file format
|
|
is likely to change.
|
|
|
|
|
|
Adrian Likins
|
|
aug 18, 1999
|
|
|