forked from openkylin/gimp
76 lines
1.9 KiB
Plaintext
76 lines
1.9 KiB
Plaintext
The GIMP Paintbrush File Format Version 1 (.gbr)
|
|
------------------------------------------------
|
|
|
|
Based on examples and code, it seems that v1 is like v2, but it is
|
|
lacking bytes 20 - 27 (no magic or spacing info), and thus having
|
|
as last header field:
|
|
|
|
Bytes 20 - (header_size - 1):
|
|
Type: char *
|
|
Value: undefined encoding string - name of brush
|
|
|
|
GBR v1 is deprecated and should never be used to save new brushes.
|
|
|
|
|
|
|
|
The GIMP Paintbrush File Format Version 2 (.gbr)
|
|
------------------------------------------------
|
|
|
|
HEADER
|
|
------
|
|
|
|
Bytes 0 - 3: header_size:
|
|
Type: 32 bit unsigned int
|
|
Value: size of brush header (28) + length of brush name
|
|
|
|
Bytes 4 - 7: version
|
|
Type: 32 bit unsigned int
|
|
Value: The file format version.
|
|
|
|
Bytes 8 - 11: width
|
|
Type: 32 bit unsigned int
|
|
Value: Brush width
|
|
|
|
Bytes 12 - 15: height
|
|
Type: 32 bit unsigned int
|
|
Value: Brush height
|
|
|
|
Bytes 16 - 19: bytes
|
|
Type: 32 bit unsigned int
|
|
Value: Colour depth of brush.
|
|
1 = greyscale, 4 = RGBA
|
|
|
|
Bytes 20 - 23: magic_number
|
|
Type: 32 bit unsigned int
|
|
Value: GIMP brush magic number.
|
|
('G' << 24) + ('I' << 16) + ('M' << 8) + 'P'
|
|
|
|
Bytes 24 - 27: spacing
|
|
Type: 32 bit unsigned int
|
|
Value: Default spacing to be used for brush. Percentage
|
|
of brush width.
|
|
|
|
Bytes 28 - (header_size - 1):
|
|
Type: char *
|
|
Value: UTF-8 string - name of brush
|
|
|
|
|
|
BODY
|
|
----
|
|
Size: width * height * bytes
|
|
Type: uchar *
|
|
Value: Pixel values (row-first) for brush
|
|
|
|
|
|
|
|
The GIMP Paintbrush File Format Version 3 (.gbr)
|
|
------------------------------------------------
|
|
|
|
This changed GIMP brush format was introduced by the FilmGimp or
|
|
CinePaint developers without notifying the GIMP developers. We've
|
|
added support for reading these brushes. The format is very similar
|
|
to version 2 but uses the bytes field as a data format identifier.
|
|
It seems the only format identifier in use is 18 which corresponds
|
|
to 16bit floats. If you encounter brushes with a different data
|
|
format, please let the GIMP developers know.
|