The GetEnhMetaFilePaletteEntries function retrieves optional palette entries from the specified enhanced metafile.
UINT GetEnhMetaFilePaletteEntries(
HENHMETAFILE hemf, | // handle of enhanced metafile |
UINT cEntries, | // count of palette entries |
LPPALETTEENTRY lppe | // address of palette-entry array |
); |
Parameters
hemf
Identifies the enhanced metafile.
cEntries
Specifies the number of entries to be retrieved from the optional palette.
lppe
Points to an array of PALETTEENTRY structures to receive the palette colors. The array must contain at least as many structures as there are entries specified by the cEntries parameter.
Return Values
If the array pointer is NULL and the enhanced metafile contains an optional palette, the return value is the number of entries in the enhanced metafile's palette; if the array pointer is a valid pointer and the enhanced metafile contains an optional palette, the return value is the number of entries copied; if the metafile does not contain an optional palette, the return value is zero. Otherwise, the return value is GDI_ERROR.
Remarks
An application can store an optional palette in an enhanced metafile by calling the CreatePalette and SetPaletteEntries functions before creating the picture and storing it in the metafile. By doing this, the application can achieve consistent colors when the picture is displayed on a variety of devices.
An application that displays a picture stored in an enhanced metafile can call the GetEnhMetaFilePaletteEntries function to determine whether the optional palette exists. If it does, the application can call the GetEnhMetaFilePaletteEntries function a second time to retrieve the palette entries and then create a logical palette (by using the CreatePalette function), select it into its device context (by using the SelectPalette function), and then realize it (by using the RealizePalette function). After the logical palette has been realized, calling the PlayEnhMetaFile function displays the picture using its original colors.
See Also
CreatePalette, PALETTEENTRY, PlayEnhMetaFile, RealizePalette, SelectPalette