本机像素格式概述
本主题介绍 Windows 图像处理组件 (WIC) 提供的像素格式。
像素格式描述位图中每个像素的内存布局。 此内存布局描述如何通过指定数字格式和颜色通道组织对位图的图像数据进行编码。 WIC 支持多种颜色通道组织方案的多种数字格式,提供多种像素格式。
位深度
位深度是用于对每个颜色通道进行编码的位数。 如今,大部分数字图像使用 8 位深度,这意味着像素中的每个颜色通道都由 8 位表示,每个通道提供 2⁸ (256) 个唯一值。 位深度为 8 且具有三个颜色通道(例如红色、绿色和蓝色)的图像使用每像素 24 位 (bpp),这为每个像素提供 2²⁴ (16,777,216) 种不同的颜色。
为了获得更好的颜色分辨率,可以使用 16 或 32 位深度。 这为每个颜色通道提供了 2¹⁶ (65,536) 或 2³² 个唯一值,但代价是每像素占用更多内存。
在某些格式中,位深度不是 8 的倍数。 这些格式称为打包格式,因为像素中的颜色通道不与字节边界对齐。 例如,如果位深度为 5,则可以将三个颜色通道存储在 16 位中(包括 1 位填充,以使像素字节对齐)。 当内存或处理能力有限时,打包格式非常有用。
数值编码
对于当今的大部分数字图像,使用无符号字节和无符号短整数来描述每个颜色通道的数值范围。 最小值 (0) 表示单个颜色通道中的强度为零,当所有颜色通道都为零时实现黑色。 同样,最大值代表全强度,并且当所有颜色通道都处于全强度时实现白色。 位深度为 8 时,UINT 为每个颜色通道提供 256 个唯一值 (0 - 255)。 16 位 UINT 为每个颜色通道提供 65,536 个唯一值 (0 - 65,535)。
此外,WIC 支持定点和浮点格式。 这些格式支持更大的动态范围,因为每个颜色通道的整个数值范围大于可见范围。 因此,在图像处理的中间步骤期间,可以将颜色调整到可见范围之上或之下,而不会丢失图像信息。
定点数值编码
16 位定点值被解释为 s2.13:符号位、2 个整数位和 13 个小数位。 使用这种解释,可以表示 -4.0 到 +3.999... 的数值范围,其中 1.0 的值由带符号整数值 8192 (0x2000) 表示。
32 位定点值被解释为 s7.24:符号位、7 个整数位和 24 四个小数位。 使用这种解释,可以表示 -128.0 到 +127.999... 的数值范围,其中 1.0 的值由带符号整数值 16777216 (0x01000000) 表示。
颜色通道
像素格式的颜色通道定义位图图像数据中每种颜色的内存布局。 当今数字图像中有各种常见的颜色通道结构,WIC 为其中许多结构提供支持。
RGB/BGR 颜色模型
RGB 和 BGR 格式描述加色颜色模型中的颜色。 描述图像的最常见方法是使用三个独立颜色通道,分别代表红色 (R)、绿色 (G) 和蓝色 (B)。 WIC 以红-绿-蓝 (RGB) 或蓝-绿-红 (BGR) 顺序支持这三个通道。 这是每个颜色通道在连续位流中出现的顺序。 例如,在 GUID_WICPixelFormat32bppRGB 格式中,每个像素为 32 位宽。 红色通道是内存中的第一个(最低有效)字节,其次是绿色,然后是蓝色。 相反,在 GUID_WICPixelFormat32bppBGR 格式中,颜色通道的顺序相反。 WIC 支持多种 RGB/BGR 格式,包括特殊的打包位格式,例如 GUID_WICPixelFormat16bppBGR555。
注意
特殊 BGR 打包位格式的颜色通道不像典型像素格式中的颜色通道那样是 8 的倍数。 这意味着通道值不是字节对齐的。 读取打包位颜色通道时必须小心。
除了 RGB 和 BGR 格式之外,WIC 还提供支持 Alpha (A) 通道的 RGB 和 BGR 像素格式。 Alpha 通道提供像素的不透明度数据。 对于添加了 Alpha 通道的格式,Alpha 通道通常在颜色通道顺序中排在最后。 例如,在像素格式 GUID_WICPixelFormat32bppBGRA 中,字节顺序为蓝色、绿色和红色,后接 Alpha 通道。
WIC 还支持预乘 (P) Alpha RGB 像素格式。 在典型的 RGBA 像素格式中,红色、绿色和蓝色值是图像的实际颜色值。 若要以标准 RGBA 格式制作合成图像,必须将前景图像的 Alpha 值乘以每个红色、绿色和蓝色通道,然后再将其添加到背景图像的颜色。 在预乘 Alpha RGB 像素格式中,每个颜色通道都已乘以 Alpha 值。 这提供了一种更有效的使用 Alpha 通道数据进行图像合成的方法。 若要以 PRGBA/PBGRA 像素格式检索每个通道的真实颜色值,必须通过将颜色值除以 Alpha 值来反转 Alpha 通道乘法。
CMYK 颜色模型
CMYK 是用于打印的减色模型。 CMYK 模型产生的颜色是由未被吸收而是被反射的光生成的。 CMYK 是青色 (C)、洋红色 (M)、黄色 (Y) 和黑色 (K) 的四通道模型。 当所有四个颜色通道都处于最大值时,结果为黑色。 与 RGB/BGR 颜色模型类似,连续位流中的字节顺序由像素格式的名称给出。 例如,在像素格式 GUID_WICPixelFormat32bppCMYK 中,每个像素由 32 位组成。 第一个字节包含青色值,然后依次是洋红色、黄色和黑色。 WIC 为 CMYK 提供 32 和 64 位每像素 (bpp) 的像素格式。
除了标准的 CMYK 颜色模型外,WIC 还提供带有 Alpha 的 CMYK。 这允许 CMYK 图像具有类似于 RGB/BGR 颜色模型的 Alpha 混合数据。 在位图的连续位流中,Alpha 通道紧邻黑色之后。
n 通道颜色模型
为了实现灵活性,WIC 还提供没有预定义通道顺序的像素格式。 WIC 提供的像素格式支持 3 到 8 个通道的连续图像数据,位深度为 8 和 16。 与 RGB/BGR 和 CMYK 像素格式不同,n 通道格式不指定通道顺序,而是指定可用颜色通道的数量。 例如,在像素格式 GUID_WICPixelFormat32bpp4Channels 中,每个像素由 32 位组成,4 个通道中的每一个通道占用一个字节。
WIC 还提供带有 Alpha 的 n 通道的像素格式。 这允许 n 通道图像具有类似于 RGB/BGR 和 CMYK 颜色模型的 Alpha 混合数据。 在位图的顺序位流中,Alpha 通道紧邻最后一个颜色通道之后。
索引和灰度颜色模型
索引格式使用称为调色板的颜色表。 调色板存储在像素数据外部或隐式定义。 图像中每个像素的值是调色板的索引。 对于索引格式,每个像素的位数与调色板中的条目数直接相关。 这大大减少了表示图像所需的数据量,但也限制了图像可用的颜色数量。 WIC 支持 1、2、4 或 8 bpp 的索引格式。
对于单色(灰度)格式,WIC 支持每像素 1、2、4、8、16 和 32 位。 对于位深度 1、8、16 和 32,颜色数据存储在单个通道中。 对于位深度为 2 或 4 的情况,像素是灰度调色板的索引。
Y’CbCr 颜色模型
WIC 添加了对 JPEG JFIF Y'CbCr 颜色模型的支持。 Y'CbCr 将颜色分离为亮度分量 (Y') 和两个色度分量(Cb 和 Cr)。 许多 JPEG 文件本身使用 Y'CbCr 颜色模型存储图像数据。
人类视觉系统对色度变化的敏感度低于对亮度变化的敏感度,Y'CbCr 格式可以通过减少相对于亮度存储的色度数据量来利用这种降低的敏感度。 它们通过将色度和亮度存储到单独的平面中并将每个分量平面缩放到不同的分辨率来实现此目的。 这种做法称为色度子采样。
由于色度和亮度数据单独存储并且可能具有不同的分辨率,因此 WIC 定义了单独的亮度和色度像素格式。 WIC 支持每通道 8 位的数据。
WIC 像素格式
WIC 中的像素格式是使用 GUID 定义的,以避免与 IHV 冲突。 WIC 提供了一个友好的名称来引用本机像素格式的 GUID。 WIC 像素格式的命名约定如下:
[GUID_WICPixelFormat][每像素位数][通道顺序][存储类型]
格式组成部分 | 说明 |
---|---|
GUID_WICPixelFormat | 所有 WIC 像素格式的描述性标识。 所有 WIC 像素的易记名称都以此字符串开头。 |
每像素位数 | 用于像素格式的每像素位数 (bpp)。 |
通道顺序 | 格式的颜色通道模型和每个通道的顺序。 |
存储类型 | 用于像素格式的数字编码。 默认编码是无符号整数。 如果颜色模型信息后面没有任何内容,则隐含一个无符号整数 (UINT)。 FixPoint 和 Float 分别用于标识使用定点和浮点编码的像素格式。 |
注意
对于 n 通道格式,[通道顺序] 不指定颜色顺序,而是指定可用通道的数量。 例如,GUID_WICPixelFormat24bpp3Channels 提供 3 个颜色通道,其中“3Channels”是 [Channel Order] 条目,但仅指示通道数,而不指示顺序。
例如,易记名称 GUID_WICPixelFormat24bppRGB 表示像素格式使用每像素 24 位和 RGB 颜色模型。 由于该名称没有显式标识存储类型,因此隐含了一个无符号整数。
WIC 支持多种像素格式。 下表按颜色结构对类似的像素格式进行分组,同时提供位深度、每像素位数和数字编码等附加信息。 每个表包含以下信息:
- 易记名称。 像素格式的易记名称。
- 通道计数。 颜色通道数。
- 每通道位数。 每个通道的位数(位深度)。
- 每像素位数。 每个像素的位数,包括任何填充位。
- 存储类型。 图像数据的数值编码。 该值可以是无符号整数 (UINT)、定点数 (FixedPoint) 或浮点数 (Float)。
注意
为了清楚起见,本文档仅按照易记名称引用像素格式。 像素格式的实际十六进制值可以在 wincodec.h/idl 文件中找到。
未定义的像素格式
以下列表显示了当像素格式未定义或对图像操作不重要时使用的通用像素格式。
- GUID_WICPixelFormatUndefined
- GUID_WICPixelFormatDontCare
索引像素格式
下表列出了 WIC 提供的索引像素格式。 在这些格式中,每个像素的值是调色板的索引。
友好名称 | 通道计数 | 每像素位数 | 存储类型 |
---|---|---|---|
GUID_WICPixelFormat1bppIndexed | 1 | 1 | UINT |
GUID_WICPixelFormat2bppIndexed | 1 | 2 | UINT |
GUID_WICPixelFormat4bppIndexed | 1 | 4 | UINT |
GUID_WICPixelFormat8bppIndexed | 1 | 8 | UINT |
打包比特像素格式
下表列出了 WIC 提供的打包位格式。 在这些格式中,颜色通道数据不是字节对齐的。
友好名称 | 通道计数 | 每通道位数 | 每像素位数 | 存储类型 |
---|---|---|---|---|
GUID_WICPixelFormat16bppBGR555 | 3 | 5 | 16 | UINT |
GUID_WICPixelFormat16bppBGR565 | 3 | 5(B)/6(G)/5(R) | 16 | UINT |
GUID_WICPixelFormat16bppBGRA555 | 4 | 5(B)/5(G)/5(R)/1(A) | 16 | UINT |
GUID_WICPixelFormat32bppBGR101010 | 3 | 10 | 32 | UINT |
GUID_WICPixelFormat32bppRGBA1010102 | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
GUID_WICPixelFormat32bppRGBA1010102XR | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
GUID_WICPixelFormat32bppR10G10B10A2 | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
GUID_WICPixelFormat32bppR10G10B10A2HDR10 | 4 | 10(R)/10(G)/10(B)/2(A) | 32 | UINT |
对于 GUID_WICPixelFormat32bppBGR101010 和 GUID_WICPixelFormat32bppRGBA1010102 格式,红色通道存储在最低有效位中。 对于 GUID_WICPixelFormat32bppR10G10B10A2 和 GUID_WICPixelFormat32bppR10G10B10A2HDR10 格式,红色通道在最高有效位中定义,布局与 DXGI _FORMAT_R10G10B10A2_UNORM 相同。
GUID_WICPixelFormat32bppR10G10B10A2HDR10 格式是 HDR10 的 10 位像素格式(BT.2020 色彩空间和 SMPTE ST.2084 EOTF)。
灰度像素格式
下表列出了 WIC 提供的灰度格式。 在这些格式中,颜色数据代表灰色阴影。
友好名称 | 通道计数 | 每通道位数 | 每像素位数 | 存储类型 |
---|---|---|---|---|
GUID_WICPixelFormatBlackWhite | 1 | 1 | 1 | UINT |
GUID_WICPixelFormat2bppGray | 1 | 2 | 2 | UINT |
GUID_WICPixelFormat4bppGray | 1 | 4 | 4 | UINT |
GUID_WICPixelFormat8bppGray | 1 | 8 | 8 | UINT |
GUID_WICPixelFormat16bppGray | 1 | 16 | 16 | UINT |
GUID_WICPixelFormat16bppGrayFixedPoint | 1 | 16 | 16 | FixedPoint |
GUID_WICPixelFormat16bppGrayHalf | 1 | 16 | 16 | 浮点 |
GUID_WICPixelFormat32bppGrayFloat | 1 | 32 | 32 | 浮点 |
GUID_WICPixelFormat32bppGrayFixedPoint | 1 | 32 | 32 | FixedPoint |
RGB/BGR 像素格式
下表列出了 WIC 提供的 RGB/BGR 格式。 这些格式将原色数据分为红色 (R)、绿色 (G) 和蓝色 (B) 通道。 为某些格式的不透明度信息提供了附加的 Alpha (A) 通道。
友好名称 | 通道计数 | 每通道位数 | 每像素位数 | 存储类型 |
---|---|---|---|---|
GUID_WICPixelFormat24bppRGB | 3 | 8 | 24 | UINT |
GUID_WICPixelFormat24bppBGR | 3 | 8 | 24 | UINT |
GUID_WICPixelFormat32bppBGR | 3 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppRGBA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppBGRA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppRGBE* | 4 | 8 | 32 | Float |
GUID_WICPixelFormat32bppPRGBA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat32bppPBGRA | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat48bppRGB | 3 | 16 | 48 | UINT |
GUID_WICPixelFormat48bppBGR | 3 | 16 | 48 | UINT |
GUID_WICPixelFormat48bppRGBFixedPoint | 3 | 16 | 48 | 固定 |
GUID_WICPixelFormat48bppBGRFixedPoint | 3 | 16 | 48 | 固定 |
GUID_WICPixelFormat48bppRGBHalf | 3 | 16 | 48 | Float |
GUID_WICPixelFormat64bppRGBA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppBGRA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppPRGBA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppPBGRA | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat64bppRGBFixedPoint | 3 | 16 | 64 | 固定 |
GUID_WICPixelFormat64bppRGBAFixedPoint | 4 | 16 | 64 | 固定 |
GUID_WICPixelFormat64bppBGRAFixedPoint | 4 | 16 | 64 | 固定 |
GUID_WICPixelFormat64bppRGBHalf | 3 | 16 | 64 | Float |
GUID_WICPixelFormat64bppRGBAHalf | 4 | 16 | 64 | 浮点 |
GUID_WICPixelFormat96bppRGBFixedPoint | 3 | 32 | 96 | 固定 |
GUID_WICPixelFormat128bppRGBFloat | 3 | 32 | 128 | 浮点 |
GUID_WICPixelFormat128bppRGBAFloat | 4 | 32 | 128 | 浮点 |
GUID_WICPixelFormat128bppPRGBAFloat | 4 | 32 | 128 | 浮点 |
GUID_WICPixelFormat128bppRGBFixedPoint | 3 | 32 | 128 | 固定 |
GUID_WICPixelFormat128bppRGBAFixedPoint | 4 | 32 | 128 | 固定 |
注意
*GUID_WICPixelFormat32bppRGBE 格式在 4 个字节中编码三个 16 位浮点值,如下所示:R、G 和 B 通道的三个无符号 8 位尾数,加上共享的 8 位指数。 此格式以较小的像素表示形式提供 16 位浮点精度。
从 Windows 8 和 Windows 7 平台更新开始,WIC 提供了其他格式,如下表所示。
友好名称 | 通道计数 | 每通道位数 | 每像素位数 | 存储类型 |
---|---|---|---|---|
GUID_WICPixelFormat32bppRGB | 3 | 8 | 32 | UINT |
GUID_WICPixelFormat64bppRGB | 3 | 16 | 64 | UINT |
GUID_WICPixelFormat96bppRGBFloat | 3 | 32 | 96 | FLOAT |
GUID_WICPixelFormat64bppPRGBAHalf | 4 | 16 | 64 | FLOAT |
CMYK 像素格式
下表列出了 WIC 提供的 CMYK 格式。 这些格式将原色数据分为青色 (C)、洋红色 (M)、黄色 (Y) 和黑色 (K) 通道。
友好名称 | 通道计数 | 每通道位数 | 每像素位数 | 存储类型 |
---|---|---|---|---|
GUID_WICPixelFormat32bppCMYK | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat64bppCMYK | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat40bppCMYKAlpha | 5 | 8 | 40 | UINT |
GUID_WICPixelFormat80bppCMYKAlpha | 5 | 16 | 80 | UINT |
n 通道像素格式
下表列出了 WIC 提供的 n 通道格式。 这些格式提供了许多未定义的颜色通道来存储图像数据。
友好名称 | 通道计数 | 每通道位数 | 每像素位数 | 存储类型 |
---|---|---|---|---|
GUID_WICPixelFormat24bpp3Channels | 3 | 8 | 24 | UINT |
GUID_WICPixelFormat48bpp3Channels | 3 | 16 | 48 | UINT |
GUID_WICPixelFormat32bpp3ChannelsAlpha | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat64bpp3ChannelsAlpha | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat32bpp4Channels | 4 | 8 | 32 | UINT |
GUID_WICPixelFormat64bpp4Channels | 4 | 16 | 64 | UINT |
GUID_WICPixelFormat40bpp4ChannelsAlpha | 5 | 8 | 40 | UINT |
GUID_WICPixelFormat80bpp4ChannelsAlpha | 5 | 16 | 80 | UINT |
GUID_WICPixelFormat40bpp5Channels | 5 | 8 | 40 | UINT |
GUID_WICPixelFormat80bpp5Channels | 5 | 16 | 80 | UINT |
GUID_WICPixelFormat48bpp5ChannelsAlpha | 6 | 8 | 48 | UINT |
GUID_WICPixelFormat96bpp5ChannelsAlpha | 6 | 16 | 96 | UINT |
GUID_WICPixelFormat48bpp6Channels | 6 | 8 | 48 | UINT |
GUID_WICPixelFormat96bpp6Channels | 6 | 16 | 96 | UINT |
GUID_WICPixelFormat56bpp6ChannelsAlpha | 7 | 8 | 56 | UINT |
GUID_WICPixelFormat112bpp6ChannelsAlpha | 7 | 16 | 112 | UINT |
GUID_WICPixelFormat56bpp7Channels | 7 | 8 | 56 | UINT |
GUID_WICPixelFormat112bpp7Channels | 7 | 16 | 112 | UINT |
GUID_WICPixelFormat64bpp7ChannelsAlpha | 8 | 8 | 64 | UINT |
GUID_WICPixelFormat128bpp7ChannelsAlpha | 8 | 16 | 128 | UINT |
GUID_WICPixelFormat64bpp8Channels | 8 | 8 | 64 | UINT |
GUID_WICPixelFormat128bpp8Channels | 8 | 16 | 128 | UINT |
GUID_WICPixelFormat72bpp8ChannelsAlpha | 9 | 8 | 72 | UINT |
GUID_WICPixelFormat144bpp8ChannelsAlpha | 9 | 16 | 144 | UINT |
仅 Alpha 像素格式
下表列出了 WIC 提供的仅 Alpha 格式。 此格式仅包含 Alpha 信息。
友好名称 | 通道计数 | 每通道位数 | 每像素位数 | 存储类型 |
---|---|---|---|---|
GUID_WICPixelFormat8bppAlpha | 1 | 8 | 32 | UINT |
Y’CbCr 像素格式
下表列出了 WIC 提供的 Y'CbCr 格式。 这些格式将原色数据分为亮度(Y)、蓝色色度差 (Cb) 和红色色度差 (Cr)。 请注意,这些格式旨在存储 JPEG JFIF Y'CbCr 像素数据。
友好名称 | 通道计数 | 每像素位数 | 存储类型 |
---|---|---|---|
GUID_WICPixelFormat8bppY | 1 | 8 | UINT |
GUID_WICPixelFormat8bppCb | 1 | 8 | UINT |
GUID_WICPixelFormat8bppCr | 1 | 8 | UINT |
GUID_WICPixelFormat16bppCbCr | 2 | 16 | UINT |
颜色空间
像素格式本身没有颜色空间。 一般情况下,颜色空间是像素值的语义解释,这些值取决于位图的上下文。 某些图像识别定义图像颜色空间的颜色上下文。 仅当没有颜色上下文的情况下才应该推理颜色空间。
颜色上下文信息由 WIC 的 IWICColorContext 接口定义。 若要检索图像帧的颜色上下文信息,请使用 GetColorContext 方法。
在缺乏图像颜色空间信息的情况下,颜色空间推理的一般规则是 UINT RGB 和灰度格式使用标准 RGB 颜色空间 (sRGB),而定点和浮点 RGB 和灰度格式则使用扩展的 RGB 颜色空间。 CMYK 颜色模型使用 RWOP 颜色空间。
本机图像格式
Windows 提供的每个 WIC 编解码器都支持一部分 WIC 像素格式。 对于每个编解码器,支持的解码格式可能与支持的编码格式不同。
解码图像时,如果数据本身以解码器不支持的像素格式存储,则它将转换为支持的格式。 若要确定输出像素格式,请调用 IWICBitmapFrameDecode::GetPixelFormat。
对图像进行编码时,请使用 IWICBitmapFrameEncode::SetPixelFormat 请求编码器使用特定的像素格式。 编码器将返回最接近支持的像素格式,这可能与请求的不同。
下表显示了 Windows 提供的每个 WIC 编解码器支持的像素格式。
BMP 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat1bppIndexed | GUID_WICPixelFormat1bppIndexed |
GUID_WICPixelFormat4bppIndexed | GUID_WICPixelFormat4bppIndexed |
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
GUID_WICPixelFormat16bppBGR555 | GUID_WICPixelFormat16bppBGR555 |
GUID_WICPixelFormat16bppBGR565 | GUID_WICPixelFormat16bppBGR565 |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat32bppBGR | GUID_WICPixelFormat32bppBGR |
GUID_WICPixelFormat32bppBGRA* | GUID_WICPixelFormat32bppBGRA* |
GUID_WICPixelFormat64bppRGBAFixedPoint | GUID_WICPixelFormat32bppPBGRA |
GUID_WICPixelFormat64bppRGBAFixedPoint | |
GUID_WICPixelFormat64bppBGRAFixedPoint |
注意
仅 Windows 8、Windows 7 平台更新及更高版本支持 GUID_WICPixelFormat32bppBGRA。
- 若要编码为此格式,请使用 EnableV5Header32bppBGRA 编码器选项。 BMP 将通过 BITMAPV5HEADER 标头写入。
- 如果文件具有 BITMAPV5HEADER,则它会解码为 GUID_WICPixelFormat32bppBGRA。
GIF 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
ICO 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat32bppBGRA |
JPEG 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat32bppCMYK | GUID_WICPixelFormat32bppCMYK |
PNG 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat1bppIndexed | GUID_WICPixelFormat1bppIndexed |
GUID_WICPixelFormat2bppIndexed | GUID_WICPixelFormat2bppIndexed |
GUID_WICPixelFormat4bppIndexed | GUID_WICPixelFormat4bppIndexed |
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
GUID_WICPixelFormatBlackWhite | GUID_WICPixelFormatBlackWhite |
GUID_WICPixelFormat2bppGray | GUID_WICPixelFormat2bppGray |
GUID_WICPixelFormat4bppGray | GUID_WICPixelFormat4bppGray |
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat16bppGray | GUID_WICPixelFormat16bppGray |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat48bppRGB | GUID_WICPixelFormat48bppRGB |
GUID_WICPixelFormat64bppRGBA | GUID_WICPixelFormat48bppBGR |
GUID_WICPixelFormat64bppRGBA | |
GUID_WICPixelFormat64bppBGRA |
TIFF 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat1bppIndexed | GUID_WICPixelFormat1bppIndexed |
GUID_WICPixelFormat4bppIndexed | GUID_WICPixelFormat4bppIndexed |
GUID_WICPixelFormat8bppIndexed | GUID_WICPixelFormat8bppIndexed |
GUID_WICPixelFormatBlackWhite | GUID_WICPixelFormatBlackWhite |
GUID_WICPixelFormat4bppGray | GUID_WICPixelFormat4bppGray |
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat16bppGray | GUID_WICPixelFormat16bppGray |
GUID_WICPixelFormat32bppGrayFloat | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppCMYK |
GUID_WICPixelFormat32bppPBGRA | GUID_WICPixelFormat48bppRGB |
GUID_WICPixelFormat48bppRGB | GUID_WICPixelFormat64bppRGBA |
GUID_WICPixelFormat32bppCMYK | |
GUID_WICPixelFormat40bppCMYKAlpha | |
GUID_WICPixelFormat64bppRGBA | |
GUID_WICPixelFormat64bppPRGBA | |
GUID_WICPixelFormat64bppCMYK | |
GUID_WICPixelFormat80bppCMYKAlpha | |
GUID_WICPixelFormat96bppRGBFloat* | |
GUID_WICPixelFormat128bppRGBAFloat | |
GUID_WICPixelFormat128bppPRGBAFloat |
注意
GUID_WICPixelFormat96bppRGBFloat 仅在 Windows 8、Windows 7 平台更新及更高版本中受支持。
HEIF 本机编解码器
仅深度格式和仅增益格式。 这些像素格式 GUID 允许照片查看器检索 HEIF 图像的备用表示形式。
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat8bppDepth | GUID_WICPixelFormat8bppDepth |
GUID_WICPixelFormat8bppGain | GUID_WICPixelFormat8bppGain |
JPEG-XR 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormatBlackWhite | GUID_WICPixelFormatBlackWhite |
GUID_WICPixelFormat8bppGray | GUID_WICPixelFormat8bppGray |
GUID_WICPixelFormat16bppBGR555 | GUID_WICPixelFormat16bppBGR555 |
GUID_WICPixelFormat16bppGray | GUID_WICPixelFormat16bppGray |
GUID_WICPixelFormat24bppBGR | GUID_WICPixelFormat24bppBGR |
GUID_WICPixelFormat24bppRGB | GUID_WICPixelFormat24bppRGB |
GUID_WICPixelFormat32bppBGR | GUID_WICPixelFormat32bppBGR |
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat48bppRGBFixedPoint | GUID_WICPixelFormat48bppRGBFixedPoint |
GUID_WICPixelFormat16bppGrayFixedPoint | GUID_WICPixelFormat16bppGrayFixedPoint |
GUID_WICPixelFormat32bppBGR101010 | GUID_WICPixelFormat32bppBGR101010 |
GUID_WICPixelFormat48bppRGB | GUID_WICPixelFormat48bppRGB |
GUID_WICPixelFormat64bppRGBA | GUID_WICPixelFormat64bppRGBA |
GUID_WICPixelFormat96bppRGBFixedPoint | GUID_WICPixelFormat96bppRGBFixedPoint |
GUID_WICPixelFormat96bppRGBFixedPoint | GUID_WICPixelFormat128bppRGBAFloat |
GUID_WICPixelFormat128bppRGBFloat | GUID_WICPixelFormat128bppRGBFloat |
GUID_WICPixelFormat32bppCMYK | GUID_WICPixelFormat32bppCMYK |
GUID_WICPixelFormat64bppRGBAFixedPoint | GUID_WICPixelFormat64bppRGBAFixedPoint |
GUID_WICPixelFormat128bppRGBAFixedPoint | GUID_WICPixelFormat128bppRGBAFixedPoint |
GUID_WICPixelFormat64bppCMYK | GUID_WICPixelFormat64bppCMYK |
GUID_WICPixelFormat24bpp3Channels | GUID_WICPixelFormat24bpp3Channels |
GUID_WICPixelFormat32bpp4Channels | GUID_WICPixelFormat32bpp4Channels |
GUID_WICPixelFormat40bpp5Channels | GUID_WICPixelFormat40bpp5Channels |
GUID_WICPixelFormat48bpp6Channels | GUID_WICPixelFormat48bpp6Channels |
GUID_WICPixelFormat56bpp7Channels | GUID_WICPixelFormat56bpp7Channels |
GUID_WICPixelFormat64bpp8Channels | GUID_WICPixelFormat64bpp8Channels |
GUID_WICPixelFormat48bpp3Channels | GUID_WICPixelFormat48bpp3Channels |
GUID_WICPixelFormat64bpp4Channels | GUID_WICPixelFormat64bpp4Channels |
GUID_WICPixelFormat80bpp5Channels | GUID_WICPixelFormat80bpp5Channels |
GUID_WICPixelFormat96bpp6Channels | GUID_WICPixelFormat96bpp6Channels |
GUID_WICPixelFormat112bpp7Channels | GUID_WICPixelFormat112bpp7Channels |
GUID_WICPixelFormat128bpp8Channels | GUID_WICPixelFormat128bpp8Channels |
GUID_WICPixelFormat40bppCMYKAlpha | GUID_WICPixelFormat40bppCMYKAlpha |
GUID_WICPixelFormat80bppCMYKAlpha | GUID_WICPixelFormat80bppCMYKAlpha |
GUID_WICPixelFormat32bpp3ChannelsAlpha | GUID_WICPixelFormat32bpp3ChannelsAlpha |
GUID_WICPixelFormat64bpp7ChannelsAlpha | GUID_WICPixelFormat40bpp4ChannelsAlpha |
GUID_WICPixelFormat72bpp8ChannelsAlpha | GUID_WICPixelFormat48bpp5ChannelsAlpha |
GUID_WICPixelFormat64bpp3ChannelsAlpha | GUID_WICPixelFormat56bpp6ChannelsAlpha |
GUID_WICPixelFormat80bpp4ChannelsAlpha | GUID_WICPixelFormat64bpp7ChannelsAlpha |
GUID_WICPixelFormat96bpp5ChannelsAlpha | GUID_WICPixelFormat72bpp8ChannelsAlpha |
GUID_WICPixelFormat112bpp6ChannelsAlpha | GUID_WICPixelFormat64bpp3ChannelsAlpha |
GUID_WICPixelFormat128bpp7ChannelsAlpha | GUID_WICPixelFormat80bpp4ChannelsAlpha |
GUID_WICPixelFormat144bpp8ChannelsAlpha | GUID_WICPixelFormat96bpp5ChannelsAlpha |
GUID_WICPixelFormat64bppRGBAHalf | GUID_WICPixelFormat112bpp6ChannelsAlpha |
GUID_WICPixelFormat48bppRGBHalf | GUID_WICPixelFormat128bpp7ChannelsAlpha |
GUID_WICPixelFormat32bppRGBE | GUID_WICPixelFormat144bpp8ChannelsAlpha |
GUID_WICPixelFormat16bppGrayHalf | GUID_WICPixelFormat64bppRGBAHalf |
GUID_WICPixelFormat32bppGrayFixedPoint | GUID_WICPixelFormat48bppRGBHalf |
GUID_WICPixelFormat64bppRGBFixedPoint | GUID_WICPixelFormat32bppRGBE |
GUID_WICPixelFormat128bppRGBFixedPoint | GUID_WICPixelFormat16bppGrayHalf |
GUID_WICPixelFormat64bppRGBHalf | GUID_WICPixelFormatBlackWhite |
DDS 本机编解码器
解码器像素格式 | 编码器像素格式 |
---|---|
GUID_WICPixelFormat32bppBGRA | GUID_WICPixelFormat32bppBGRA |
GUID_WICPixelFormat32bppPBGRA | GUID_WICPixelFormat32bppPBGRA |
注意
Windows 提供的 DDS 编解码器支持使用以下 DXGI_FORMAT 值编码的 DDS 文件:
- DXGI_FORMAT_BC1_UNORM
- DXGI_FORMAT_BC2_UNORM
- DXGI_FORMAT_BC3_UNORM
它们被解码并编码为 GUID_WICPixelFormat32bppBGRA 或 GUID_WICPixelFormat32bppPBGRA。 有关详细信息,请参阅 DDS 格式概述。
像素格式扩展性
自定义图像格式可以使用 WIC 本身未提供的像素格式,例如 YCbCr (YUV) 和 YCCK (Y/Cb/Cr/K)。 WIC 提供了一个扩展性模型,允许内置和附加像素格式在同一图像处理管道中工作。 若要将这些像素格式与 WIC 图像处理管道集成,必须创建像素格式转换器,以将附加像素格式转换为一种或多种本机像素格式。 生成格式转换器的主接口是 IWICFormatConverter。
相关主题
-
Conceptual
-
其他资源