This function reduces the image to a fewer number of Bits Per Pixel.
Declaration:
![]() |
|
---|---|
AT_ERRCOUNT ACCUAPI IG_IP_color_reduce_diffuse ( HIGEAR hIGear, UINT nToBits, INT level, LPAT_RGBQUAD lpPalette ); |
Arguments:
Name | Type | Description |
hIGear | HIGEAR | HIGEAR handle of image of which to reduce bit depth. |
nToBits | UINT | Number of bits per pixel after reduction, 1 or 4. |
Level | INT | Threshold value for dithering, 0 to 255. Has effect only if nToBits = 1. |
lpPalette | LPAT_RGBQUAD | This argument is currently not used. |
Return Value:
Returns the number of ImageGear errors that occurred during this function call.
Supported Raster Image Formats:
Indexed RGB – 4, 8 bpp;
Grayscale – 4, 8 bpp;
RGB – 24 bpp.
Sample:
None
Example:
![]() |
|
---|---|
HIGEAR hIGear; /* HIGEAR handle of 4, 8, or 24 bit image */ /* Reduce image to 1-bit black-and-white: */ IG_IP_color_reduce_diffuse ( hIGear, 1, 128, NULL ); |
Remarks:
The target bit depth is specified by argument nToBits. In general, a color image will be reduced to a fewer number of colors, and a grayscale image will be reduced to a fewer number of shades of gray. Note that setting nToBits = 1 will reduce the image to monochrome or black-and-white.
When reducing the image to monochrome (black-and-white), the level parameter sets a threshold value for the target image:
- level = 128 means that black and white in the target image will be in equal proportion.
- level greater than 128 would mean more bright than dark.
- level less than 128 would mean more dark than bright.
The input number of Bits Per Pixel must be greater than nToBits, or an error will result.
![]() |
See also section in entitled Color Reduction. |