DDS 格式概述
本主题提供有关通过 Windows 映像组件 (WIC) 提供的本机 DDS 编解码器的信息。
编解码器标识
下表提供了编解码器标识信息。
组件 | 说明 |
---|---|
正式名称 () | DirectDraw Surface |
文件扩展名 () | Dds |
MIME 类型 (MIME type) | image/vnd.ms-dds |
下表列出了用于标识本机 DDS 编解码器组件的 GUID。
组件 | 友好名称 | GUID |
---|---|---|
容器格式 | GUID_ContainerFormatDds | 9967cb95-2e85-4ac8-8ca283d7ccd425c9 |
解码器 | CLSID_WICDdsDecoder | 9053699f-a341-429d-9e90ee437cf80c73 |
编码器 | CLSID_WICDdsEncoder | a61dde94-66ce-4ac1-881b71680588895e |
像素格式支持
请注意,DDS 格式支持任何有效的 DXGI_FORMAT 值。 但是,WIC DDS 编解码器仅支持解码和编码包含以下格式的文件:
- DXGI_FORMAT_BC1_UNORM
- DXGI_FORMAT_BC2_UNORM
- DXGI_FORMAT_BC3_UNORM
编码
WIC 编码 API 设计为与编解码器无关,因此启用 WIC 的编解码器的图像编码本质上是相同的。 有关使用 WIC API 进行图像编码的详细信息,请参阅 编码概述。
DDS 文件格式具有独特的要求,这些要求源于对 mipmap 和纹理数组等概念的支持。 若要完全控制 DDS 图像编码,应使用 IWICDdsEncoder 接口设置特定于 DDS 的编码参数。
解码
WIC 解码 API 设计为与编解码器无关,启用 WIC 的编解码器的图像解码基本相同。 有关图像解码的详细信息,请参阅 解码概述。 有关使用解码的图像数据的详细信息,请参阅 位图源概述。
阻止压缩的数据访问
除了支持标准 WIC 编解码器接口外,DDS 解码器还允许使用特定于 DDS 的接口 IWICDdsDecoder 和 IWICDdsFrameDecode 直接访问本机块压缩数据。 若要使用这些接口,请分别从 IWICBitmapDecoder 和 IWICBitmapFrameDecode 调用 QueryInterface。