An image may contain multiple Extra channels. An Extra channel can belong to one of the following subtypes: Mask, Spot, or Unknown. These channels can be mixed in arbitrary order. ImageGear does not use separate bitmasks from enumIGColorSpaceIDs Enumeration for Mask and Spot channels. Instead, it uses IG_COLOR_SPACE_ID_Ex bitmask to specify presence of any of these channels in an image.
ImageGear stores an array of extra channel info objects in the DIB. Length of this array must always be equal to the number of extra channels in the DIB. DIB constructors, color space, and channel manipulation functions must ensure this.
- If an entry of the info array has type IG_EXTRA_CHANNEL_TYPE_Spot, then the corresponding Extra channel is a Spot channel. Spot channel info contains information that is necessary for displaying the spot channel. ImageGear uses spot color channels for display and color space conversions, and saves them to output files when supported by format. If output format does not allow storing additional channels, ImageGear converts Spot channels, together with regular color channels, to the destination color space.
- If an entry of the info array has type IG_EXTRA_CHANNEL_TYPE_Mask, then the corresponding Extra channel is a Mask channel. ImageGear uses Mask channels for display and saves them to output files when supported by format. However, it does not use them in color space conversions. If the output format does not allow storing additional channels, ImageGear ignores Mask channels in conversion to the destination color space.
- If an entry has type IG_EXTRA_CHANNEL_TYPE_Unknown, then the corresponding Extra channel is unknown. It is not used in display and color conversions, but preserved and saved to output files when possible.
Spot color, Mask, and Extra channels can be appended after any regular color channels, in any order, including color spaces that contain an Alpha or Pre-multiplied Alpha channel.