The IlvIndexedBitmapData Class
The IlvIndexedBitmapData class is dedicated to indexed color images, where raster data is described as indexes to a color map (8-bit values, meaning that you can have only 256 colors in an indexed bitmap data).
Creating an Indexed Bitmap Data of Dimensions 256 * 256 Pixels
The first step is to create a colormap. We create a colormap with 256 entries. We then fill this colormap with grayscale values. Each component is described using 8 bits for each component.
IlvColorMap* cmap = new IlvColorMap(256);
for (IlUInt idx = 0; idx < 256; ++idx) {
// sets the red, green and blue components for a entry
cmap->setEntry(idx, idx, idx, idx);
}
We then create an indexed bitmap data of desired size:
IlvIndexedBitmapData* idata = new IlvIndexedBitmapData(256, 256, cmap);
We then fill the bitmap data with a gradient of indexes:
for (IlUInt h = 0; h < 256; ++h)
for (IlUInt w = 0; w < 256; ++w)
idata->setPixel(w, h, h);
To be able to display this bitmap data on the screen, you have to create an IlvBitmap from it.
IlvBitmap* bitmap = new IlvBitmap(display, idata);
You can then use the IlvIcon class to create a graphic object from this.