Método IWICDdsFrameDecode::CopyBlocks (wincodec.h)

Solicita dados de pixel, pois eles são armazenados nativamente no arquivo DDS.

Sintaxe

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

Parâmetros

[in] prcBoundsInBlocks

Tipo: const WICRect*

O retângulo a ser copiado da origem. Um valor NULL especifica toda a textura.

Se a textura usar um DXGI_FORMAT compactado em bloco, todos os valores do retângulo serão expressos em número de blocos, não em pixels.

[in] cbStride

Tipo: UINT

O passo, em bytes, do buffer de destino. Isso representa o número de bytes do ponteiro do buffer para a próxima linha de dados. Se a textura usar um DXGI_FORMAT compactado por bloco, uma "linha de dados" será definida como uma linha de blocos que contém várias linhas de verificação de pixel.

[in] cbBufferSize

Tipo: UINT

O tamanho, em bytes, do buffer de destino.

[out] pbBuffer

Tipo: BYTE*

Um ponteiro para o buffer de destino.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Se a textura não usar um DXGI_FORMAT compactado em bloco, esse método se comportará de forma semelhante a IWICBitmapSource::CopyPixels. No entanto, ele não executa nenhuma conversão de formato de pixel e, em vez disso, produz os dados brutos do arquivo DDS.

Se a textura usar um DXGI_FORMAT compactado em bloco, esse método copiará os dados de bloco diretamente para o buffer fornecido. Nesse caso, o parâmetro prcBoundsInBlocks é definido em blocos, não em pixels. Para determinar se esse é o caso, chame GetFormatInfo e leia o membro DxgiFormat da estrutura WICDdsFormatInfo retornada.

Requisitos

   
Cliente mínimo com suporte Windows 8.1 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho wincodec.h
Biblioteca Windowscodecs.lib
DLL Windowscodecs.dll

Confira também

IWICBitmapSource::CopyPixels

IWICDdsFrameDecode