This function returns the address of the image's DIB palette.
Copy Code
|
|
---|---|
AT_ERRCOUNT ACCUAPI IG_image_DIB_palette_pntr_get( HIGEAR hIGear, LPAT_RGBQUAD FAR* lpRGBQ, LPUINT lpEntries ); |
Name | Type | Description |
---|---|---|
hIGear | HIGEAR | HIGEAR handle of image. |
lpRGBQ | LPAT_RGBQUAD FAR* | Pointer to a variable of type LPAT_RGBQUAD, in which this function will store the address of the start of the image's DIB palette. |
lpEntries | LPUINT | Pointer to a variable in which will be returned the number of entries in the palette. |
All pixel formats supported by ImageGear for C and C++.
Copy Code
|
|
---|---|
AT_ERRCOUNT nErrcount; // Number of errors on stack HIGEAR hIGear; // Handle of image LPAT_RGBQUAD palette = NULL; // Palette pointer UINT entries = 0; // Number of entries in the palette // Load image file "picture.bmp" from working directory nErrcount = IG_load_file("picture.bmp", &hIGear); if(nErrcount == 0) { nErrcount = IG_image_DIB_palette_pntr_get(hIGear, &palette, &entries); // ... // Destroy the image IG_image_delete(hIGear); } |
HIGEAR DIB palette is stored as an array of AT_RGBQUAD structs. This function returns the address of the first AT_RGBQUAD struct in this array.
If the image doesn't have a palette, the function returns NULL in lpRGBQ.
When referencing a DIB palette, remember that each DIB palette entry contains 4 bytes, not 3, and that the order of the bytes is: Blue, Green, Red, Unused (not Red, Green, Blue).