Поделиться через


Метод IWICDdsFrameDecode::CopyBlocks (wincodec.h)

Запрашивает пиксельные данные, так как они изначально хранятся в файле DDS.

Синтаксис

HRESULT CopyBlocks(
  [in]  const WICRect *prcBoundsInBlocks,
  [in]  UINT          cbStride,
  [in]  UINT          cbBufferSize,
  [out] BYTE          *pbBuffer
);

Параметры

[in] prcBoundsInBlocks

Тип: const WICRect*

Прямоугольник для копирования из источника. Значение NULL указывает всю текстуру.

Если текстура использует блочное сжатие DXGI_FORMAT, все значения прямоугольника выражаются в количестве блоков, а не в пикселях.

[in] cbStride

Тип: UINT

Шаг в байтах целевого буфера. Это число байтов от указателя буфера к следующей строке данных. Если текстура использует сжатый блок DXGI_FORMAT, "строка данных" определяется как строка блоков, содержащая несколько линий сканирования пикселей.

[in] cbBufferSize

Тип: UINT

Размер целевого буфера в байтах.

[out] pbBuffer

Тип: BYTE*

Указатель на буфер назначения.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Если текстура не использует блочное сжатие DXGI_FORMAT, этот метод ведет себя аналогично IWICBitmapSource::CopyPixels. Однако он не выполняет преобразование формата пикселей и вместо этого создает необработанные данные из файла DDS.

Если текстура использует блочное сжатие DXGI_FORMAT, этот метод копирует блочные данные непосредственно в предоставленный буфер. В этом случае параметр prcBoundsInBlocks определяется в блоках, а не в пикселях. Чтобы определить, так ли это, вызовите Метод GetFormatInfo и считайте элемент DxgiFormat возвращенной структуры WICDdsFormatInfo .

Требования

Требование Значение
Минимальная версия клиента Windows 8.1 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header wincodec.h
Библиотека Windowscodecs.lib
DLL Windowscodecs.dll

См. также раздел

IWICBitmapSource::CopyPixels

IWICDdsFrameDecode