SHGetInverseCMAP function
[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]
Retrieves the inverse color table mapping for the halftone palette.
Syntax
HRESULT SHGetInverseCMAP( _Out_ BYTE *pbMap, _In_ ULONG cbMap );
Parameters
- pbMap [out]
-
Type: BYTE*
A pointer to an array of BYTEs that receives the inverse color table mapping, or a pointer to an LPBYTE which receives a pointer to a cached copy of the inverse color table mapping, depending on the value of the cbMap parameter.
- cbMap [in]
-
Type: ULONG
The size of the buffer pointed to by pbMap, which also defines its contents. Two values are recognized.
Return value
Type: HRESULT
If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
The inverse color mapping table is a table of 32,768 bytes. It contains the indexes of colors in the halftone palette. Each index is stored at a position in the buffer that corresponds to a particular RGB value expressed in 555 format. These pairings allow you to find a color in the halftone palette which is a close approximation of the original color.
For example, the method for determining a color in the halftone palette that is a close approximation for the color #306040 is as follows:
- Decompose the color into its red, green, and blue components. In this case, the red component is 0x30, the green component is 0x60 and the blue component is 0x40.
- Reassemble the color into 555 format. The formula for reducing a 24-bit RGB color into 555 format is shown here.
((red / 8) << 10) + ((blue / 8) << 5) + (green / 8)
In this example, the value in 555 format is ((0x30 / 8) << 10) + ((0x60 / 8) << 5) + (0x40 / 8) = 6536.
- The index value stored in position 6536 in the inverse color map table is the index of the color in the halftone palette that is a reasonable approximation to the color #306040.
Requirements
|
Minimum supported client |
Windows 2000 Professional, Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
See also