This function reduces the image to a fewer number of Bits Per Pixel.
Declaration:
Copy Code | |
---|---|
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:
Copy Code | |
---|---|
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. |