Graphics File Formats(Windows的.BMP .CUR .ICO文件的格式,有范例)
following are the bit-mask values necessary to produce black, white, inverted, and transparent results:
pixel result and maskxor mask
black 0 0 white 0 1 transparent 1 0 inverted1 1
windows cursor selection
if a cursor-resource file contains more than one cursor image, windows determines the best match for a particular display by examining the width and height of the cursor images.
==============================================================================
bitmapfileheader (3.0)
typedef struct tagbitmapfileheader { /* bmfh */ uint bftype; dword bfsize; uint bfreserved1; uint bfreserved2; dword bfoffbits; } bitmapfileheader;
the bitmapfileheader structure contains information about the type, size, and layout of a device-independent bitmap (dib) file.
member description
bftype specifies the type of file. this member must be bm. bfsize specifies the size of the file, in bytes. bfreserved1 reserved; must be set to zero. bfreserved2 reserved; must be set to zero. bfoffbits specifies the byte offset from the bitmapfileheader structure to the actual bitmap data in the file.
comments
a bitmapinfo or bitmapcoreinfo structure immediately follows the bitmapfileheader structure in the dib file.
see also
bitmapcoreinfo, bitmapinfo
============================================================================== bitmapinfo (3.0)
typedef struct tagbitmapinfo { /* bmi */ bitmapinfoheader bmiheader; rgbquad bmicolors[1]; } bitmapinfo;
the bitmapinfo structure fully defines the dimensions and color information for a windows 3.0 or later device-independent bitmap (dib).
member description
bmiheader specifies a bitmapinfoheader structure that contains information about the dimensions and color format of a dib.
bmicolors specifies an array of rgbquad structures that define the colors in the bitmap.
comments
a windows 3.0 or later dib consists of two distinct parts: a bitmapinfo structure, which describes the dimensions and colors of the bitmap, and an array of bytes defining the pixels of the bitmap. the bits in the array are packed together, but each scan line must be zero-padded to end on a long boundary. segment boundaries, however, can appear anywhere in the bitmap. the origin of the bitmap is the lower-left corner.
the bibitcount member of the bitmapinfoheader structure determines the number of bits which define each pixel and the maximum number of colors in the bitmap. this member may be set to any of the following values:
value meaning
1 the bitmap is monochrome, and the bmcicolors member must contain two entries. each bit in the bitmap array represents a pixel. if the bit is clear, the pixel is displayed with the color of the first entry in the bmcicolors table. if the bit is set, the pixel has the color of the second entry in the table.
4 the bitmap has a maximum of 16 colors, and the bmcicolors member contains 16 entries. each pixel in the bitmap is represented by a four-bit index into the color table.
for example, if the first byte in the bitmap is 0x1f, the byte represents two |