The quality factor is a number that determines the degree of loss in the compression process for lossy formats. The following LEAD encoders support the QualityFactor property bag item:
LEAD Encoder CLSID | Valid QualityFactor values |
---|---|
CLSID_WICLeadAbcEncoder | One of the WICLeadAbcQualityFactorPredefined enumeration values. |
CLSID_WICLeadCmpEncoder | One of the WICLeadCmpQualityFactorPredefined enumeration values, or 2 through 255 |
CLSID_WICLeadCmwEncoder | 2 through 255 |
CLSID_WICLeadDicomEncoder | Depends on the subformat being used. See remarks below. |
CLSID_WICLeadIcoEncoder | Depends on the subformat being used. See remarks below. |
CLSID_WICLeadHdpEncoder | 1 through 255 |
CLSID_WICLeadJpegEncoder | 0 (lossless) or 2 through 255 |
CLSID_WICLeadJ2kEncoder | -1(lossless), 0(lossless), 1 through 255 |
CLSID_WICLeadMngEncoder | 2 through 255 |
CLSID_WICLeadPdfEncoder | Depends on the subformat being used. See remarks below. |
CLSID_WICLeadPngEncoder | 0 through 9 |
CLSID_WICLeadTiffEncoder | Depends on the subformat being used. See remarks below. |
CLSID_WICLeadXpsEncoder | Depends on the subformat being used. See remarks below. |
Typically, a lower quality factor results in higher quality and larger files. A higher quality factor results in smaller but lower quality files. Different LEAD Bitmap Encoders have different valid quality factor ranges. For example, the LEAD Jpeg Bitmap Encoder supports a quality factor in the range from 2 through 255 inclusive. But the LEAD Png Bitmap Encoder supports a quality factor in the range of 0 through 9 inclusive.
In addition to a quality factor range, some LEAD Bitmap Encoders support predefined quality factors. For example the LEAD Cmp Bitmap Encoder supports a quality factor range of 2 through 255, and also the predefined quality factors in theWICLeadCmpQualityFactorPredefined enumeration. For more information, refer to the IWICLeadBitmapEncoder::GetQualityFactorPredefined method and the IWICLeadBitmapEncoder::GetQualityFactorPredefinedFriendlyName method.
Certain LEAD Bitmap Encoders can store image data in more than one subformat. For example, the LEAD Xps Bitmap Encoder supports JPEG compression (with a quality factor range of 2 -255) or PNG compression (with a quality factor range of 0-9). So the SubFormat property of a LEAD Bitmap Encoder can affect the valid quality factor range. To get the quality factor range for a LEAD Bitmap Encoder, call the IWICLeadBitmapEncoder::GetQualityFactorRange method. The tables below show the QualityFactor ranges for these encoders.
To determine if a LEAD Bitmap Encoder supports the QualityFactor property, call the IWICLeadBitmapEncoder::GetSubFormatFlags method.
CLSID_WICLeadDicomEncoder
SubFormat QualityFactor Values WICLeadSubFormatDicomJpegGray 0(lossless), 2 through 255 WICLeadSubFormatDicomJ2kGray 0(lossless), 2 through 255 WICLeadSubFormatDicomJpegColor 0(lossless), 2 through 255 All other SubFormats Ignored
CLSID_WICLeadTiffEncoder
SubFormat QualityFactor Values WICLeadSubFormatTifAbc One of the WICLeadAbcQualityFactorPredefined enumeration values. WICLeadSubFormatTifJpeg 0(lossless), 2 through 255 WICLeadSubFormatTifJpeg411 0(lossless), 2 through 255 WICLeadSubFormatTifJpeg422 0(lossless), 2 through 255 WICLeadSubFormatTifCmp One of the WICLeadCmpQualityFactorPredefined enumeration values, or 2 through 255 WICLeadSubFormatTifJ2k -1(lossless), 0(lossless), 1 through 255 WICLeadSubFormatTifCmw 2 through 255 All other SubFormats Ignored
CLSID_WICLeadPdfEncoder
SubFormat QualityFactor Values WICLeadSubFormatRasPdfLzw 2 through 255 WICLeadSubFormatRasPdfJpeg 0(lossless), 2 through 255 WICLeadSubFormatRasPdfJpeg422 0(lossless), 2 through 255 WICLeadSubFormatRasPdfJpeg411 0(lossless), 2 through 255 WICLeadSubFormatRasPdfLzwCmyk 2 through 255 All other SubFormats Ignored
CLSID_WICLeadXpsEncoder
SubFormat QualityFactor Values WICLeadSubFormatXps 0 through 9 WICLeadSubFormatXpsJpeg 0(lossless), 2 through 255 WICLeadSubFormatXpsJpeg422 0(lossless), 2 through 255 WICLeadSubFormatXpsJpeg411 0(lossless), 2 through 255
CLSID_WICLeadIcoEncoder
SubFormat QualityFactor Values WICLeadSubFormatPngIco 0 through 9 WICLeadSubFormatTifJpeg 0(lossless), 2 through 255 WICLeadSubFormatWinIco Ignored