[cairo] Fix for CAIRO_FORMAT_RGB24 pngs
spitzak at d2.com
Thu May 19 13:54:29 PDT 2005
I would have *no* suffix indicate that the bytes are in the given order
in memory. So RGB means R is in the first byte, G in the second, B in
A number suffix indicates that it is this many bits, and the bytes are
in endianess-order. So RGB24 is the same as BGR on a little-endian
machine, and RGB on a big-endian one. RGB32 is the same as BGR_ on a
little-endian machine and _RGB on a big-endian one.
A one-channel image would be "A8" to avoid calling it just "A".
The channel letters can be R,G,B,A. It may be useful to substitue 'M'
(matte) for 'A' to indicate non-premultiplied data. Also '_' indicates
an unused byte.
Though not necessary now, suffixes could also indicate the type of all
previous data, if it is not bytes:
s = The data is 16-bit unsigned
l = The data is 32-bit unsigned
h = The data is 16-bit ILM floating-point "half" format
f = The data is 32-bit floating-point
d = The data is 64-bit floating-point
Mixed types could be indicated by imbedding suffixes. For instance RGBfA
may indicate floating-point RGB and 8-bit alpha.
Only a tiny subset needs to be supported. The following are all the
layouts I have seen in common use:
More information about the cairo