ImageGear Professional for Linux
Reading and Writing Palettes

There are six image utility functions that read and write palettes in memory, or load and save them between memory and disk. To transfer a palette between your own memory area and a HIGEAR image's DIB (that is, to get or set the DIB palette), use IG_palette_get and IG_palette_set:

 
Copy Code
AT_RGBQUAD palette[256];
IG_palette_get ( hIGear, palette );
IG_palette_set ( hIGear, palette );

In the above calls, lpPalette should point to the first of an array of AT_RGBQUAD structures, one structure per palette entry.

If instead you want to move just one entry to or from the DIB palette, use IG_palette_entry_get and IG_palette_entry_set:

 
Copy Code
AT_RGB    rgbPaletteColor;
IG_palette_entry_get ( hIGear, &rgbPaletteColor, nIndex );
IG_palette_entry_set ( hIGear, &rgbPaletteColor, nIndex );

In the single entry calls, you supply a pointer to a single structure of type AT_RGB. The third argument has a value between 0 and 255, specifying which palette entry to get or set. (Remember that an AT_RGBQUAD structure consists of 4 bytes ordered Blue-Green-Red-Unused(0), while an AT_RGB struct consists of 3 bytes ordered Blue-Green-Red.)

To load and save palettes between memory and disk, use the functions IG_palette_load and IG_palette_save:

 
Copy Code
IG_palette_load ("filename", palette, nEntries, bOrder, lpFileType);
IG_palette_save ("filename", palette, nEntries, lpFileType);

See the descriptions of the above functions in Core Component API Reference for details on specifying the arguments.

 

 


©2016. Accusoft Corporation. All Rights Reserved.

Send Feedback