Общие сведения о формате DDS
В этом разделе содержатся сведения о собственном кодеке DDS, доступном через компонент образов Windows (WIC).
Удостоверение кодека
В следующей таблице приведены сведения об идентификации кодека.
Компонент | Описание |
---|---|
Формальные имена | DirectDraw Surface |
Расширения имен файлов | Dds |
тип MIME | image/vnd.ms-dds |
В следующей таблице перечислены идентификаторы GUID, используемые для идентификации собственных компонентов кодека DDS.
Компонент | Понятное имя | 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
Кодирование
API кодирования WIC не зависят от кодеков, поэтому кодирование изображений для кодеков с поддержкой WIC по сути совпадает. Дополнительные сведения о кодировании изображений с помощью API WIC см. в разделе Общие сведения о кодировании.
Формат файлов DDS имеет уникальные требования, которые возникают в результате поддержки таких концепций, как MIP-карты и массивы текстур. Чтобы полностью контролировать кодирование изображений DDS, следует использовать интерфейс IWICDdsEncoder для задания параметров кодирования, относящихся к DDS.
Декодирование
API-интерфейсы декодирования WIC не зависят от кодеков, а декодирование изображений для кодеков с поддержкой WIC по сути совпадает. Дополнительные сведения о декодировании изображений см. в разделе Общие сведения о декодировании. Дополнительные сведения об использовании декодированных данных изображений см. в обзоре источников растровых изображений.
Блокировка доступа к сжатым данным
Помимо поддержки стандартных интерфейсов кодека WIC декодер DDS предоставляет прямой доступ к данным, сжатым собственным блоком, с помощью интерфейсов, зависящих от DDS, IWICDdsDecoder и IWICDdsFrameDecode. Чтобы использовать эти интерфейсы, вызовите QueryInterface из IWICBitmapDecoder и IWICBitmapFrameDecode соответственно.