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 的接口 IWICDdsDecoderIWICDdsFrameDecode 直接访问本机块压缩数据。 若要使用这些接口,请分别从 IWICBitmapDecoderIWICBitmapFrameDecode 调用 QueryInterface。