1999-08-24 Tor Lillqvist <tml@iki.fi>
* plug-ins/common/gpb.c: Added saving of .gih files.
* plug-ins/common/psp.c: Small changes, renamed the parasite.
* docs/parasites.txt: Suggesta a parasite for pixmap brush pipes.
* docs/gih.txt: Add the above parasite on the second line after
the number of brushes. Suggest how to edit brush pipes.
* docs/gpb.txt: Mention the gpb plug-in.
* app/pixmapbrush.c: Small clarification.
Fixes by Hans Breuer:
* libgimp/gimp.def: Add missing entries.
* app/gimpimage.h: Added declaration of gimp_image_{freeze,thaw}_undo.
* modules/makefile.msc: Drop the .msvc from dll names.
* plug-ins/common/jpeg.c: Guard inclusion of
unistd.h. (save_dialog): Restrict text box height to help people
with small displays.
66 lines
1.8 KiB
Text
66 lines
1.8 KiB
Text
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
|
|
|