Formerly, you could get a pointer to an image's DIB using IG_image_DIB_ptr_get and read information about it from the DIB header. This is no longer possible. A new "DIB info" object is now used instead of a DIB header struct. This object contains most of the information that was in the DIB header, plus new information introduced in ImageGear 14.5. A DIB info object is handle-based and its handle type is HIGDIBINFO. This is similar to a HIGEAR, file handle, GDI/kernel object handle, etc. Typical DIB info object workflow is as follows:
- Call a function to create the DIB info object (from a HIGEAR or from scratch). You will get a handle of type HIGDIBINFO. You will always have ownership of the object, so you will be responsible for deleting it.
- Pass the HIGDIBINFO handle to functions in the DIB Info Services group, such as IG_DIB_width_get, IG_DIB_colorspace_get, etc. to retrieve information. Or, pass the HIGDIBINFO handle to other functions that formerly took AT_DIB as a parameter, such as IG_image_create.
- Call IG_DIB_info_delete to delete the DIB info object when you've finished using it.
NOTE: A DIB info object can also, optionally, contain palette data. So the DIB info object replaces not only the DIB header, but also the palette. But this palette is separate from the palette in a HIGEAR. See the IG_DIB_palette_* functions for more information. NOTE: A DIB info object DOES NOT contain pixel data. Pixel data is associated with a HIGEAR, not a HIGDIBINFO.