ImageGear for C and C++ on Windows v19.8 - Updated
ICO
User Guide > File Formats and Compressions > File Formats > File Formats Reference > ICO

Full Name ICO (Windows icon)
Format ID IG_FORMAT_ICO = 17
File Extension(s) *.ico
Data Type Raster Image
Data Encoding Binary
Color Profile Support No
Multi-Page Support Yes
Alpha Channel Support Single alpha channel for read/write (see Comments).
ImageGear Platforms Support WIN32, WIN64, Unix, Unix64, .NET, .NET64, MAC

ImageGear Supported Versions:

ImageGear Supported Features:

ImageGear Read Support:

ImageGear Write Support:

ImageGear Filter Control Parameters:

Filter Control Parameter Type Default Value Available Values Description
READ_AS_RGBA AT_BOOL FALSE TRUE, FALSE If TRUE, ImageGear reads CUR format as RGBA (RGB with alpha channel).

Comments:

More than one representation of the icon bitmap is stored in order to offer a choice of icons; the version most compatible to the output device is used. Support for read-write transparency masks has been added to the ICO filter. Transparency masks are placed into an alpha channel when the image is created. These masks can subsequently be set and applied to the main image.

The structure of an ICO file consists of four data sections: the header, the Resource Descriptor, and two representations of the image data per each icon (the color bitmap and the 1-bit masking bitmap).

The header identifies the file as an ICO and stores the number of icon images that are stored in the file.

The Resource Descriptor stores the image width and height, the number of colors used, and the offset from the beginning of the file to the image data.

The 1-bit masking bitmap defines the transparent portion of the bitmap.

READ_AS_RGBA control parameter determines how ImageGear reads the 1-bit AND masks. If READ_AS_RGBA is FALSE, ImageGear reads AND mask into "Extra" channel. This mode preserves unchanged pixel values from the file. However, in this mode ImageGear displays only the XOR mask and ignores AND mask (Extra channel) during display, i.e. display is not transparent. If READ_AS_RGBA is TRUE, ImageGear reads CUR files as 32 bpp RGB + Alpha. This allows transparent display.

Files must be 255x255 pixels or less.

References Used

Brown, C. Wayne, and Barry J. Shepherd. Graphics File Formats: Reference and Guide. Greenwich, CT.: Manning Publications, 1992.