BMP 格式概述
本主题提供有关通过 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 的编解码器的图像解码本质上是相同的。 有关图像解码的详细信息,请参阅 解码概述。 有关使用解码的图像数据的详细信息,请参阅 位图源概述。