EN
Данное содержимое не доступно на вашем языке, используйте версию на английском языке.

Native Pixel Formats Overview

This topic introduces the pixel formats provided by the Windows Imaging Component (WIC).

A pixel format describes the memory layout of each pixel in a bitmap. This memory layout describes how the image data of a bitmap is encoded by specifying the numerical format and color-channel organization. WIC supports several numerical formats for multiple color-channel organization schemes, providing a wide range of pixel formats.

Bit Depth

The bit depth is the number of bits used to encode each color channel. Today, most digital images use a bit depth of 8, meaning that each color channel in a pixel is represented by 8 bits, providing 28 (256) unique values per channel. An image that has a bit depth of 8 and three color channels (such as red, green, and blue) uses 24 bits per pixel (bpp), which provides 224 (16,777,216) different colors per pixel.

For better color resolution, a bit depth of 16 or 32 can be used. This provides each color channel with 216 (65,536) or 232 unique values, at a cost of more memory per pixel.

In some formats, the bit depth is not a multiple of 8. These formats are called packed formats, because the color channels in a pixel are not aligned to byte boundaries. For example, if the bit depths of 5, three color channels can be stored in 16 bits (including 1 bit of padding, to make pixels byte-aligned). Packed formats are useful when memory or processing power are limited.

Numerical Encoding

For the majority of today's digital images, unsigned bytes and unsigned short integers are used to describe the numerical range of each color channel. The minimum value (0) represents zero intensity in a single color channel, and black is achieved when all color channels are zero. Similarly, the maximum value represents full intensity, and white is achieved when all color channels are at full intensity. At a bit depth of 8, a UINT provides 256 unique values per color channel (0 - 255). A 16-bit UINT provides 65,536 unique values per color channel (0 - 65,535).

In addition, WIC supports fixed-point and floating-point formats. These formats support larger dynamic ranges, because the entire numerical range of each color channel is larger than the visible range. As a result, colors can be adjusted above or below the visible range, during the intermediate steps of image processing, without loss of image information.

Color Channels

The color channels of a pixel format define the memory layout of each color within the image data of a bitmap. There are a variety of different color-channel structures common in today's digital images, and WIC provides support for many of these.

RGB/BGR Color Model

RGB and BGR formats describe colors in an additive color model. The most common method of describing an image is with three separate color channels representing the colors red (R), green (G), and blue (B). WIC provides support for these three channels in either the red-green-blue (RGB) or blue-green-red (BGR) order. This is the order in which each color channel appears within the sequential bit stream. For example, in the GUID_WICPixelFormat32bppRGB format, each pixel is 32 bits wide. The red channel is the first (least significant) byte in memory, followed by green, and then blue. Conversely, in the GUID_WICPixelFormat32bppBGR format, the color channels are in the opposite order. WIC supports a number of RGB/BGR formats, including special packed bit formats such as GUID_WICPixelFormat16bppBGR555.

Note  The color channels of the special BGR packed bit formats are not in multiples of 8 like the color channels in typical pixel formats. This means that the channel values are not byte aligned. Care must be taken when reading packed bit color channels.

In addition to the RGB and BGR formats, WIC also provides RGB and BGR pixel formats that support an alpha (A) channel. The alpha channel provides opacity data for the pixel. For formats with an added alpha channel, the alpha channel usually comes last in the color-channel order. For example, in the pixel format GUID_WICPixelFormat32bppBGRA, the byte order is blue, green, and red, followed by the alpha channel.

WIC also supports pre-multiplied (P) alpha RGB pixel formats. In a typical RGBA pixel format, the red, green, and blue color values are the actual color values for the image. To make a composite image in the standard RGBA format, the alpha value of the foreground image must be multiplied by each of the red, green, and blue channels before adding it to the color of the background image. In a pre-multiplied alpha RGB pixel format, each color channel has already been multiplied by the alpha value. This provides a more efficient method of image composition with alpha-channel data. To retrieve the true color values of each channel in a PRGBA/PBGRA pixel format, the alpha-channel multiplication must be reversed by dividing color values by the alpha value.

CMYK Color Model

CMYK is a subtractive color model that is used in printing. The colors produced by a CYMK model are generated by the light that is not absorbed, but reflected. CYMK is a four channel model of cyan �©), magenta (M), yellow (Y), and black (K). When all four color channels are at maximum value, the result is black. Like the RGB/BGR color models, the byte order within the sequential bit stream is given by the pixel format's name. For instance, in the pixel format GUID_WICPixelFormat32bppCMYK, each pixel is made up of 32 bits. The first byte contains the cyan value, followed in turn by magenta, yellow, and black. WIC provides pixel formats for CMYK at 32 and 64 bits per pixel (bpp).

In addition to the standard CMYK color model, WIC also provides CMYK with alpha. This allows CMYK images to have alpha blending data similar to the RGB/BGR color model. The alpha channel is located immediately after black in the sequential bit stream of a bitmap.

n-channel Color Model

For flexibility, WIC also provides pixel formats that do not have a predefined channel order. WIC provides pixel formats that support from three to eight channels of continuous image data at bit depths of both 8 and 16. Unlike the RGB/BGR and CMYK pixel formats, n-channel formats do not specify the channel order but rather the number of color channels available. For instance, in the pixel format GUID_WICPixelFormat32bpp4Channels, each pixel is made up of 32 bits with each of the 4 channels occupying a single byte.

WIC also provides pixel formats for n-channel with alpha. This allows n-channel images to have alpha blending data similar to the RGB/BGR and CMYK color models. The alpha channel is located immediately after last color channel in the sequential bit stream of a bitmap.

Indexed and Grayscale Color Models

Indexed formats use a table of colors, called a palette. The palette is stored externally to the pixel data or else defined implicitly. The value of each pixel in the image is an index into the palette. With an indexed format, the number of bits per pixel is directly related to the number of entries in the palette. This significantly reduces the amount of data required to represent the image, but also restricts the number of colors available to the image. WIC supports indexed formats with 1, 2, 4, or 8 bpp.

For monochrome (grayscale) formats, WIC supports 1, 2, 4, 8, 16, and 32 bits per pixel. For bit depths of 1, 8, 16, and 32, the color data is stored in a single channel. For bit depths of 2 or 4, pixels are indexes into a grayscale palette.

Y’CbCr Color Model

WIC adds support for the JPEG JFIF Y’CbCr color model. Y’CbCr separate colors into a luma component (Y’) and two chroma components (Cb and Cr). Many JPEG files natively store image data using the Y’CbCr color model.

The human visual system is less sensitive to changes in chroma than to luma, and Y’CbCr formats can take advantage of this reduced sensitivity by reducing the amount of chroma data that is stored relative to luma. They accomplish this by storing chroma and luma into separate planes and scaling each component plane to a different resolution. This practice is known as chroma subsampling.

Because chroma and luma data are stored separately and may be different resolutions, WIC defines separate luma and chroma pixel formats. WIC supports data that is 8 bits per channel.

WIC Pixel Format

The pixel formats in WIC are defined using GUIDs to avoid clashes with IHVs. WIC provides a friendly name to reference the GUID of a native pixel format. The naming convention for the WIC pixel formats is as follows:

[GUID_WICPixelFormat][Bits Per Pixel][Channel Order][Storage Type]

Format componentDescription
GUID_WICPixelFormatThe descriptive identification for all WIC pixel formats. The friendly name for all WIC pixels begin with this string.
Bits Per PixelThe number of bits per pixel (bpp) used for the pixel format.
Channel OrderThe color-channel model and order of each channel for the format.
Storage TypeThe numerical encoding used for the pixel format. The default encoding is an unsigned integer. If nothing follows the color model information, an unsigned integer (UINT) is implied. FixedPoint and Float are used to identify pixel formats that use fixed-point and floating-point encoding respectively.

 

Note   For n-channel formats, [Channel Order] does not specify color order but rather the number of channels available. For example, GUID_WICPixelFormat24bpp3Channels provides 3 color channels where "3Channels" is the [Channel Order] entry, but indicates only the number of channels and not the order.

For example, the friendly name GUID_WICPixelFormat24bppRGB means that the pixel format uses 24 bits per pixel and the RGB color model. Because the name does not explicitly identify a storage type, an unsigned integer is implied.

WIC supports a several pixel formats. The following tables group similar pixel formats by color structure while providing additional information such as bit depth, bits per pixel, and numerical encoding. Each table contains the following information:

  • Friendly Name. The friendly name of the pixel format.
  • Channel Count. The number of color channels.
  • Bits Per Channel. The number of bits per channel (bit depth).
  • Bits Per Pixel. The number of bits per pixel, including any padding bits.
  • Storage Type. The numerical encoding of the image data. This value can be an unsigned integer (UINT), a fixed-point number (FixedPoint), or a floating-point number (Float).

Note   For clarity, this document refers to pixel formats only by their friendly names. The actual hexadecimal value for the pixel formats can be found in the wincodec.h/idl files.

Undefined Pixel Formats

The following list shows generic pixel formats that are used when the pixel format is undefined or is unimportant to an image operation.

  • GUID_WICPixelFormatUndefined
  • GUID_WICPixelFormatDontCare

Indexed Pixel Formats

The following table lists the indexed pixel formats provided by WIC. In these formats, the value for each pixel is an index into a color palette.

Friendly NameChannel CountBits Per PixelStorage Type
GUID_WICPixelFormat1bppIndexed11UINT
GUID_WICPixelFormat2bppIndexed12UINT
GUID_WICPixelFormat4bppIndexed14UINT
GUID_WICPixelFormat8bppIndexed18UINT

 

Packed Bit Pixel Formats

The following table lists the packed bit formats provided by WIC. In these formats, color-channel data is not byte-aligned.

Friendly NameChannel CountBits Per ChannelBits Per PixelStorage Type
GUID_WICPixelFormat16bppBGR5553516UINT
GUID_WICPixelFormat16bppBGR56535(B)/6(G)/5�®)16UINT
GUID_WICPixelFormat16bppBGRA55545(B)/5(G)/5(R)/1(A)16UINT
GUID_WICPixelFormat32bppBGR10101031032UINT
GUID_WICPixelFormat32bppRGBA1010102410(R)/10(G)/10(B)/2(A)32UINT
GUID_WICPixelFormat32bppRGBA1010102XR410(R)/10(G)/10(B)/2(A)32UINT

 

Grayscale Pixel Formats

The following table lists the grayscale formats provided by WIC. In these formats, color data represents shades of gray.

Friendly NameChannel CountBits Per ChannelBits Per PixelStorage Type
GUID_WICPixelFormatBlackWhite111UINT
GUID_WICPixelFormat2bppGray122UINT
GUID_WICPixelFormat4bppGray144UINT
GUID_WICPixelFormat8bppGray188UINT
GUID_WICPixelFormat16bppGray11616UINT
GUID_WICPixelFormat16bppGrayFixedPoint11616FixedPoint
GUID_WICPixelFormat16bppGrayHalf11616Float
GUID_WICPixelFormat32bppGrayFloat13232Float
GUID_WICPixelFormat32bppGrayFixedPoint13232FixedPoint

 

RGB/BGR Pixel formats

The following table lists the RGB/BGR formats provided by WIC. These formats separate the primary color data into red (R), green (G), and blue (B) channels. An additional alpha (A) channel is provided for opacity information in some formats.

Friendly NameChannel CountBits Per ChannelBits Per PixelStorage Type
GUID_WICPixelFormat24bppRGB3824UINT
GUID_WICPixelFormat24bppBGR3824UINT
GUID_WICPixelFormat32bppBGR3832UINT
GUID_WICPixelFormat32bppRGBA4832UINT
GUID_WICPixelFormat32bppBGRA4832UINT
GUID_WICPixelFormat32bppRGBE*4832Float
GUID_WICPixelFormat32bppPRGBA4832UINT
GUID_WICPixelFormat32bppPBGRA4832UINT
GUID_WICPixelFormat48bppRGB31648UINT
GUID_WICPixelFormat48bppBGR31648UINT
GUID_WICPixelFormat48bppRGBFixedPoint31648Fixed
GUID_WICPixelFormat48bppBGRFixedPoint31648Fixed
GUID_WICPixelFormat48bppRGBHalf31648Float
GUID_WICPixelFormat64bppRGBA41664UINT
GUID_WICPixelFormat64bppBGRA41664UINT
GUID_WICPixelFormat64bppPRGBA41664UINT
GUID_WICPixelFormat64bppPBGRA41664UINT
GUID_WICPixelFormat64bppRGBFixedPoint31664Fixed
GUID_WICPixelFormat64bppRGBAFixedPoint41664Fixed
GUID_WICPixelFormat64bppBGRAFixedPoint41664Fixed
GUID_WICPixelFormat64bppRGBHalf31664Float
GUID_WICPixelFormat64bppRGBAHalf41664Float
GUID_WICPixelFormat96bppRGBFixedPoint33296Fixed
GUID_WICPixelFormat128bppRGBFloat332128Float
GUID_WICPixelFormat128bppRGBAFloat432128Float
GUID_WICPixelFormat128bppPRGBAFloat432128Float
GUID_WICPixelFormat128bppRGBFixedPoint332128Fixed
GUID_WICPixelFormat128bppRGBAFixedPoint432128Fixed

 

Note   *The GUID_WICPixelFormat32bppRGBE format encodes three 16-bit floating-point values in 4 bytes, as follows: Three unsigned 8-bit mantissas for the R, G, and B channels, plus a shared 8-bit exponent. This format provides 16-bit floating-point precision in a smaller pixel representation.

Starting with Windows 8 and the Platform Update for Windows 7, WIC provides additional formats, shown in the table here.

Friendly NameChannel CountBits Per ChannelBits Per PixelStorage Type
GUID_WICPixelFormat32bppRGB 3832UINT
GUID_WICPixelFormat64bppRGB 31664UINT
GUID_WICPixelFormat96bppRGBFloat 33296FLOAT
GUID_WICPixelFormat64bppPRGBAHalf41664FLOAT

 

CMYK Pixel Formats

The following table lists the CMYK formats provided by WIC. These formats separate the primary color data into cyan (C), magenta (M), yellow (Y), and black (K) channels.

Friendly NameChannel CountBits Per ChannelBits Per PixelStorage Type
GUID_WICPixelFormat32bppCMYK4832UINT
GUID_WICPixelFormat64bppCMYK41664UINT
GUID_WICPixelFormat40bppCMYKAlpha5840UINT
GUID_WICPixelFormat80bppCMYKAlpha51680UINT

 

n-channel Pixel Formats

The following table lists the n-channel formats provided by WIC. These formats provide a number of undefined color channels to store image data.

Friendly NameChannel CountBits Per ChannelBits Per PixelStorage Type
GUID_WICPixelFormat24bpp3Channels3824UINT
GUID_WICPixelFormat48bpp3Channels31648UINT
GUID_WICPixelFormat32bpp3ChannelsAlpha4832UINT
GUID_WICPixelFormat64bpp3ChannelsAlpha41664UINT
GUID_WICPixelFormat32bpp4Channels4832UINT
GUID_WICPixelFormat64bpp4Channels41664UINT
GUID_WICPixelFormat40bpp4ChannelsAlpha5840UINT
GUID_WICPixelFormat80bpp4ChannelsAlpha51680UINT
GUID_WICPixelFormat40bpp5Channels5840UINT
GUID_WICPixelFormat80bpp5Channels51680UINT
GUID_WICPixelFormat48bpp5ChannelsAlpha6848UINT
GUID_WICPixelFormat96bpp5ChannelsAlpha61696UINT
GUID_WICPixelFormat48bpp6Channels6848UINT
GUID_WICPixelFormat96bpp6Channels61696UINT
GUID_WICPixelFormat56bpp6ChannelsAlpha7856UINT
GUID_WICPixelFormat112bpp6ChannelsAlpha716112UINT
GUID_WICPixelFormat56bpp7Channels7856UINT
GUID_WICPixelFormat112bpp7Channels716112UINT
GUID_WICPixelFormat64bpp7ChannelsAlpha8864UINT
GUID_WICPixelFormat128bpp7ChannelsAlpha816128UINT
GUID_WICPixelFormat64bpp8Channels8864UINT
GUID_WICPixelFormat128bpp8Channels816128UINT
GUID_WICPixelFormat72bpp8ChannelsAlpha9872UINT
GUID_WICPixelFormat144bpp8ChannelsAlpha916144UINT

 

Alpha Only Pixel Formats

The following table lists the Alpha Only formats provided by WIC. This format contains only alpha information.

Friendly NameChannel CountBits Per ChannelBits Per PixelStorage Type
GUID_WICPixelFormat8bppAlpha1832UINT

 

Y’CbCr Pixel Formats

The following table lists the Y’CbCr formats provided by WIC. These formats separate the primary color data into luma (Y), blue chroma difference (Cb), and red choma difference (Cr). Note that these formats are designed to store JPEG JFIF Y’CbCr pixel data.

Friendly NameChannel CountBits Per PixelStorage Type
GUID_WICPixelFormat8bppY18UINT
GUID_WICPixelFormat8bppCb18UINT
GUID_WICPixelFormat8bppCr18UINT
GUID_WICPixelFormat16bppCbCr216UINT

 

Color Space

Pixel formats in themselves do not have a color space. Generally, color space is a semantic interpretation of the pixel values that depends on the context of the bitmap. Some images identify a color context that defines the color space of the image. Only in the absence of a color context should the color space be inferred.

Color context information is defined by the IWICColorContext interface for WIC. To retrieve the color context information for an image frame, use the GetColorContext method.

In the absence of color space information for an image, the general rule for color space inference is that UINT RGB and grayscale formats use the standard RGB color space (sRGB), while fixed-point and floating-point RGB and grayscale formats use the extended RGB color space (scRGB). The CMYK color model uses an RWOP color space.

Native Image Formats

Each of the Windows provided WIC codecs supports a subset of the WIC pixel formats. For each codec, the supported decode formats may be different than the supported encode formats.

When decoding an image, if data is natively stored in a pixel format that is not supported by the decoder then it will be converted a supported format. To determine the output pixel format, call IWICBitmapFrameDecode::GetPixelFormat.

When encoding an image, use IWICBitmapFrameEncode::SetPixelFormat to request that the encoder use a specific pixel format. The encoder will return the closest supported pixel format, which may be different from what was requested.

The following tables show the pixel formats supported by each of the Windows provided WIC codecs.

BMP Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormat1bppIndexedGUID_WICPixelFormat1bppIndexed
GUID_WICPixelFormat4bppIndexedGUID_WICPixelFormat4bppIndexed
GUID_WICPixelFormat8bppIndexedGUID_WICPixelFormat8bppIndexed
GUID_WICPixelFormat16bppBGR555GUID_WICPixelFormat16bppBGR555
GUID_WICPixelFormat16bppBGR565GUID_WICPixelFormat16bppBGR565
GUID_WICPixelFormat24bppBGRGUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat32bppBGRGUID_WICPixelFormat32bppBGR
GUID_WICPixelFormat32bppBGRA*GUID_WICPixelFormat32bppBGRA*
GUID_WICPixelFormat64bppRGBAFixedPointGUID_WICPixelFormat32bppPBGRA
GUID_WICPixelFormat64bppRGBAFixedPoint
GUID_WICPixelFormat64bppBGRAFixedPoint

 

Note  GUID_WICPixelFormat32bppBGRA is only supported in Windows 8, the Platform Update for Windows 7, and above.

  • To encode to this format, use the EnableV5Header32bppBGRA encoder option. The BMP will be written with a BITMAPV5HEADER header.
  • If a file has a BITMAPV5HEADER, it decodes as GUID_WICPixelFormat32bppBGRA.

GIF Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormat8bppIndexedGUID_WICPixelFormat8bppIndexed

 

ICO Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormat32bppBGRA

 

JPEG Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormat8bppGrayGUID_WICPixelFormat8bppGray
GUID_WICPixelFormat24bppBGRGUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat32bppCMYKGUID_WICPixelFormat32bppCMYK

 

PNG Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormat1bppIndexedGUID_WICPixelFormat1bppIndexed
GUID_WICPixelFormat2bppIndexedGUID_WICPixelFormat2bppIndexed
GUID_WICPixelFormat4bppIndexedGUID_WICPixelFormat4bppIndexed
GUID_WICPixelFormat8bppIndexedGUID_WICPixelFormat8bppIndexed
GUID_WICPixelFormatBlackWhiteGUID_WICPixelFormatBlackWhite
GUID_WICPixelFormat2bppGrayGUID_WICPixelFormat2bppGray
GUID_WICPixelFormat4bppGrayGUID_WICPixelFormat4bppGray
GUID_WICPixelFormat8bppGrayGUID_WICPixelFormat8bppGray
GUID_WICPixelFormat16bppGrayGUID_WICPixelFormat16bppGray
GUID_WICPixelFormat24bppBGRGUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat32bppBGRAGUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat48bppRGBGUID_WICPixelFormat48bppRGB
GUID_WICPixelFormat64bppRGBAGUID_WICPixelFormat48bppBGR
GUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat64bppBGRA

 

TIFF Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormat1bppIndexedGUID_WICPixelFormat1bppIndexed
GUID_WICPixelFormat4bppIndexedGUID_WICPixelFormat4bppIndexed
GUID_WICPixelFormat8bppIndexedGUID_WICPixelFormat8bppIndexed
GUID_WICPixelFormatBlackWhiteGUID_WICPixelFormatBlackWhite
GUID_WICPixelFormat4bppGrayGUID_WICPixelFormat4bppGray
GUID_WICPixelFormat8bppGrayGUID_WICPixelFormat8bppGray
GUID_WICPixelFormat16bppGrayGUID_WICPixelFormat16bppGray
GUID_WICPixelFormat32bppGrayFloatGUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat24bppBGRGUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat32bppBGRAGUID_WICPixelFormat32bppCMYK
GUID_WICPixelFormat32bppPBGRAGUID_WICPixelFormat48bppRGB
GUID_WICPixelFormat48bppRGBGUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat32bppCMYK
GUID_WICPixelFormat40bppCMYKAlpha
GUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat64bppPRGBA
GUID_WICPixelFormat64bppCMYK
GUID_WICPixelFormat80bppCMYKAlpha
GUID_WICPixelFormat96bppRGBFloat*
GUID_WICPixelFormat128bppRGBAFloat
GUID_WICPixelFormat128bppPRGBAFloat

 

Note  GUID_ WICPixelFormat96bppRGBFloat is only supported in Windows 8, the Platform Update for Windows 7, and above.

JPEG-XR Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormatBlackWhiteGUID_WICPixelFormatBlackWhite
GUID_WICPixelFormat8bppGrayGUID_WICPixelFormat8bppGray
GUID_WICPixelFormat16bppBGR555GUID_WICPixelFormat16bppBGR555
GUID_WICPixelFormat16bppGrayGUID_WICPixelFormat16bppGray
GUID_WICPixelFormat24bppBGRGUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat24bppRGBGUID_WICPixelFormat24bppRGB
GUID_WICPixelFormat32bppBGRGUID_WICPixelFormat32bppBGR
GUID_WICPixelFormat32bppBGRAGUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat48bppRGBFixedPointGUID_WICPixelFormat48bppRGBFixedPoint
GUID_WICPixelFormat16bppGrayFixedPointGUID_WICPixelFormat16bppGrayFixedPoint
GUID_WICPixelFormat32bppBGR101010GUID_WICPixelFormat32bppBGR101010
GUID_WICPixelFormat48bppRGBGUID_WICPixelFormat48bppRGB
GUID_WICPixelFormat64bppRGBAGUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat96bppRGBFixedPointGUID_WICPixelFormat96bppRGBFixedPoint
GUID_WICPixelFormat96bppRGBFixedPointGUID_WICPixelFormat128bppRGBAFloat
GUID_WICPixelFormat128bppRGBFloatGUID_WICPixelFormat128bppRGBFloat
GUID_WICPixelFormat32bppCMYKGUID_WICPixelFormat32bppCMYK
GUID_WICPixelFormat64bppRGBAFixedPointGUID_WICPixelFormat64bppRGBAFixedPoint
GUID_WICPixelFormat128bppRGBAFixedPointGUID_WICPixelFormat128bppRGBAFixedPoint
GUID_WICPixelFormat64bppCMYKGUID_WICPixelFormat64bppCMYK
GUID_WICPixelFormat24bpp3ChannelsGUID_WICPixelFormat24bpp3Channels
GUID_WICPixelFormat32bpp4ChannelsGUID_WICPixelFormat32bpp4Channels
GUID_WICPixelFormat40bpp5ChannelsGUID_WICPixelFormat40bpp5Channels
GUID_WICPixelFormat48bpp6ChannelsGUID_WICPixelFormat48bpp6Channels
GUID_WICPixelFormat56bpp7ChannelsGUID_WICPixelFormat56bpp7Channels
GUID_WICPixelFormat64bpp8ChannelsGUID_WICPixelFormat64bpp8Channels
GUID_WICPixelFormat48bpp3ChannelsGUID_WICPixelFormat48bpp3Channels
GUID_WICPixelFormat64bpp4ChannelsGUID_WICPixelFormat64bpp4Channels
GUID_WICPixelFormat80bpp5ChannelsGUID_WICPixelFormat80bpp5Channels
GUID_WICPixelFormat96bpp6ChannelsGUID_WICPixelFormat96bpp6Channels
GUID_WICPixelFormat112bpp7ChannelsGUID_WICPixelFormat112bpp7Channels
GUID_WICPixelFormat128bpp8ChannelsGUID_WICPixelFormat128bpp8Channels
GUID_WICPixelFormat40bppCMYKAlphaGUID_WICPixelFormat40bppCMYKAlpha
GUID_WICPixelFormat80bppCMYKAlphaGUID_WICPixelFormat80bppCMYKAlpha
GUID_WICPixelFormat32bpp3ChannelsAlphaGUID_WICPixelFormat32bpp3ChannelsAlpha
GUID_WICPixelFormat64bpp7ChannelsAlphaGUID_WICPixelFormat40bpp4ChannelsAlpha
GUID_WICPixelFormat72bpp8ChannelsAlphaGUID_WICPixelFormat48bpp5ChannelsAlpha
GUID_WICPixelFormat64bpp3ChannelsAlphaGUID_WICPixelFormat56bpp6ChannelsAlpha
GUID_WICPixelFormat80bpp4ChannelsAlphaGUID_WICPixelFormat64bpp7ChannelsAlpha
GUID_WICPixelFormat96bpp5ChannelsAlphaGUID_WICPixelFormat72bpp8ChannelsAlpha
GUID_WICPixelFormat112bpp6ChannelsAlphaGUID_WICPixelFormat64bpp3ChannelsAlpha
GUID_WICPixelFormat128bpp7ChannelsAlphaGUID_WICPixelFormat80bpp4ChannelsAlpha
GUID_WICPixelFormat144bpp8ChannelsAlphaGUID_WICPixelFormat96bpp5ChannelsAlpha
GUID_WICPixelFormat64bppRGBAHalfGUID_WICPixelFormat112bpp6ChannelsAlpha
GUID_WICPixelFormat48bppRGBHalfGUID_WICPixelFormat128bpp7ChannelsAlpha
GUID_WICPixelFormat32bppRGBEGUID_WICPixelFormat144bpp8ChannelsAlpha
GUID_WICPixelFormat16bppGrayHalfGUID_WICPixelFormat64bppRGBAHalf
GUID_WICPixelFormat32bppGrayFixedPointGUID_WICPixelFormat48bppRGBHalf
GUID_WICPixelFormat64bppRGBFixedPointGUID_WICPixelFormat32bppRGBE
GUID_WICPixelFormat128bppRGBFixedPointGUID_WICPixelFormat16bppGrayHalf
GUID_WICPixelFormat64bppRGBHalfGUID_WICPixelFormatBlackWhite

 

DDS Native Codec

Decoder Pixel FormatsEncoder Pixel Formats
GUID_WICPixelFormat32bppBGRAGUID_WICPixelFormat32bppBGRA

 

Note  The DDS Windows provided codec supports DDS files encoded using the following DXGI_FORMAT values:

  • DXGI_FORMAT_BC1_UNORM
  • DXGI_FORMAT_BC2_UNORM
  • DXGI_FORMAT_BC3_UNORM

These are decoded and encoded as GUID_WICPixelFormat32bppBGRA. For more information, see the DDS Format Overview.

Pixel Format Extensibility

Custom image formats can use pixel formats that are not natively provided by WIC such as YCbCr (YUV) and YCCK (Y/Cb/Cr/K). WIC provides an extensibility model that permits both built-in and add-in pixel formats to work within the same imaging pipeline. To integrate these pixel formats with the WIC imaging pipeline, you must create pixel format converters to convert add-in pixel formats to one or more of the native pixel formats. The main interface for building format converters is IWICFormatConverter.

Related topics

Conceptual
Windows Imaging Component Overview
WIC GUIDs and CLSIDs
Other Resources
How to Write a WIC-Enabled CODEC
HD Photo Specification 1.0

 

 

Добавления сообщества

Показ:
© 2014 Microsoft