Graphics File Formats(Windows的.BMP .CUR .ICO文件的格式,有范例)
pixels. the first pixel contains the color in the second table entry, and the second pixel contains the color in the sixteenth table entry.
8 the bitmap has a maximum of 256 colors, and the bmcicolors member contains 256 entries. in this case, each byte in the array represents a single pixel.
24 the bitmap has a maximum of 2^24 colors. the bmcicolors member is null, and each 3-byte sequence in the bitmap array represents the relative intensities of red, green, and blue, respectively, of a pixel.
the biclrused member of the bitmapinfoheader structure specifies the number of color indexes in the color table actually used by the bitmap. if the biclrused member is set to zero, the bitmap uses the maximum number of colors corresponding to the value of the bibitcount member.
the colors in the bmicolors table should appear in order of importance. alternatively, for functions that use dibs, the bmicolors member can be an array of 16-bit unsigned integers that specify an index into the currently realized logical palette instead of explicit rgb values. in this case, an application using the bitmap must call dib functions with the wusage parameter set to dib_pal_colors.
note: the bmicolors member should not contain palette indexes if the bitmap is to be stored in a file or transferred to another application. unless the application uses the bitmap exclusively and under its complete control, the bitmap color table should contain explicit rgb values.
see also
bitmapinfoheader, rgbquad
============================================================================== bitmapinfoheader (3.0)
typedef struct tagbitmapinfoheader { /* bmih */ dword bisize; long biwidth; long biheight; word biplanes; word bibitcount; dword bicompression; dword bisizeimage; long bixpelspermeter; long biypelspermeter; dword biclrused; dword biclrimportant; } bitmapinfoheader;
the bitmapinfoheader structure contains information about the dimensions and color format of a windows 3.0 or later device-independent bitmap (dib).
member description
bisize specifies the number of bytes required by the bitmapinfoheader structure.
biwidth specifies the width of the bitmap, in pixels. biheightspecifies the height of the bitmap, in pixels.
biplanesspecifies the number of planes for the target device. this member must be set to 1.
bibitcount specifies the number of bits per pixel. this value must be 1, 4, 8, or 24.
bicompression specifies the type of compression for a compressed bitmap. it can be one of the following values:
value meaning
bi_rgb specifies that the bitmap is not compressed.
bi_rle8 specifies a run-length encoded format for bitmaps with 8 bits per pixel. the compression format is a 2-byte format consisting of a count byte followed by a byte containing a color index. for more information, see the following comments section.
bi_rle4 specifies a run-length encoded format for bitmaps with 4 bits per pixel. the compression format is a 2-byte format consisting of a count byte followed by two word-length color indexes. for more information, see |