mirror of https://github.com/GNOME/gimp.git
64 lines
1.4 KiB
Plaintext
64 lines
1.4 KiB
Plaintext
|
|
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. Currently
|
|
|
|
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 - 28):
|
|
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 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 - 20):
|
|
Type: char *
|
|
Value: undefined encoding string - name of brush
|
|
|
|
GBR v1 is deprecated and should never be used to save new brushes.
|