To make the ordering of all the bytes clear, consider this simple example of a 5-by-3 array of colored pels:
Red Green Blue Red Green
Blue Red Green Blue Red
Green Blue Red Green Blue
ULONG ExampleBitmap[] {
0x23,0x12,0x30,0x00 /* bottom line */
0x31,0x23,0x10,0x00 /* middle line */
0x12,0x31,0x20,0x00 /* top line */
};
#define BLACK 0x00000000L
#define RED 0x00FF0000L
#define GREEN 0x0000FF00L
#define BLUE 0x000000FFL
struct BitmapInfoTable ExampleInfo = {
5, /* width */
3, /* height */
1, /* planes */
4, /* bitcount */
BLACK,RED,GREEN,BLUE, /* color table */
BLACK,BLACK,BLACK,BLACK,
BLACK,BLACK,BLACK,BLACK,
BLACK,BLACK,BLACK,BLACK
};