本主题提供有关通过 Windows 映像组件 (WIC) 提供的本机 BMP 编解码器的信息。
编解码器标识
下表提供了编解码器标识信息。
组件
说明
正式名称 ()
Windows 位图格式
文件扩展名 ()
bmp、dib
MIME 类型 (MIME type)
image/bmp
规范支持
BMP 规范 v5
下表列出了用于标识本机 BMP 编解码器组件的 GUID。
组件
友好名称
GUID
容器格式
GUID_ContainerFormatBmp
0af1d87e-fcfe-4188-bdeba7906471cbe3
解码器
CLSID_WICBmpDecoder
6b462062-7cbf-400d-9fdb813dd10f2778
编码器
CLSID_WICBmpEncoder
69be8bb4-d66d-47c8-865aed1589433782
编码
WIC 编码 API 设计为独立于编解码器,因此启用 WIC 的编解码器的图像编码本质上是相同的。 有关使用 WIC API 进行图像编码的详细信息,请参阅 编码概述。
编码器选项
启用 WIC 的编解码器在编码选项级别上有所不同。 编码器选项反映图像编码器的功能,每个本机编解码器都支持一组这些编码器选项。 编码器选项可以是所有启用 WIC 的代码的基本 WIC 支持选项, (但不一定受图像格式编解码器设计的) 或编解码器特定选项的支持。 为了在编码过程中管理这些编码选项,WIC 使用 IPropertyBag2 接口 。 有关使用 IPropertyBag2 接口进行 WIC 编码的详细信息,请参阅 编码概述。
下表列出了本机 BMP 编解码器支持的 WIC 编码器选项。
属性名称
VARTYPE
值范围
默认值
EnableV5Header32bppBGRA
VT_BOOL
VARIANT_TRUE/VARIANT_FALSE
VARIANT_FALSE
EnableV5Header32bppBGRA
指定是否允许以GUID_WICPixelFormat32bppBGRA像素格式对数据进行编码。 如果此选项设置为 VARIANT_TRUE,将使用 BITMAPV5HEADER 标头写出 BMP。
默认值为 VARIANT_FALSE。
如果编解码器不支持的 IPropertyBag2 选项列表中存在编码器选项,则会忽略该选项。
请注意,对于 16 位和 32 位 Windows BMP 文件,BMP 编解码器会忽略任何 alpha 通道,因为许多旧图像文件在此额外通道中包含无效数据。 从 Windows 8 开始,使用 BITMAPV5HEADER 编写的具有有效 alpha 通道内容的 32 位 Windows BMP 文件将读取为 WICPixelFormat32bppBGRA
解码
WIC 解码 API 设计为与编解码器无关,而启用 WIC 的编解码器的图像解码本质上是相同的。 有关图像解码的详细信息,请参阅 解码概述。 有关使用解码的图像数据的详细信息,请参阅 位图源概述。