Gets the valid dithering type options for the LEAD Bitmap Encoder.
HRESULT GetDitherTypes(GUID guidPixelFormat, UINT cbSizeDitherTypes, WICLeadDitherType *pDitherTypes, UINT *pcDitherTypes );
- guidPixelFormat
- [in] The pixel format GUID that the encoder is using.
- cbSizeDitherTypes
- [in] The array size of the pDitherTypes array.
- pDitherTypes
- [in,out] A pointer that receives a list of dithering types supported by the encoder.
- pcDitherTypes
- [in,out] A pointer that receives the number of dithering types the encoder supports.
Returns S_OK if successful, or an error value otherwise.
Whenever you reduce an image's color resolution to 8 bits per pixel or less, a dithering method comes into play. One alternative is to use a nearest-color match (no dithering), which means that the color of each pixel is changed to the palette color that most closely matches it. If the original image contains subtle color details, the result of a nearest-color match may have large blotches of color that are not very pleasing. Dithering methods create the appearance of more subtle shades by mixing in pixels of different colors. This is similar to the way newspaper pictures produce the appearance of shades of gray, even though the only actual colors are black and white.
Any LEAD Bitmap Encoder that can write image data at 8 bits per pixel or less will have a DitherType property bag item. Call the IWICLeadBitmapEncoder::GetDitherTypes method to fill an array with the valid dithering types for particular the LEAD bitmap encoder. Call GetDitherTypes once to get the number of sub-formats. Allocate the appropriately sized array. Then call GetDitherTypes again, passing the allocated array as an argument. Any of the WICLeadDitherType values returned by GetDitherTypes can be used as a value for the DitherType property bag item.
The friendly name for the dithering type can be obtained by calling the GetDitherTypeFriendlyName method.
See WICLeadDitherType for a description of the dithering methods.
LEAD WIC-Enabled Codecs Overview
Registering a LEAD WIC-Enabled Codec
LEAD Bitmap Encoder Property Bag
LEAD Bitmap Encoder Property Bag: Jpeg2000 Specific Options
LEAD Bitmap Encoder Property Bag: Jbig2 Specific Options
LEAD Bitmap Encoder Property Bag: XPS Specific Options
See the example for IWICLeadBitmapEncoder::GetDitherTypeFriendlyName