Método IWICBitmapSourceTransform::CopyPixels (wincodec.h)

Copia dados de pixel usando os parâmetros de entrada fornecidos.

Sintaxe

HRESULT CopyPixels(
  [in]  const WICRect             *prc,
  [in]  UINT                      uiWidth,
  [in]  UINT                      uiHeight,
  [in]  WICPixelFormatGUID        *pguidDstFormat,
  [in]  WICBitmapTransformOptions dstTransform,
  [in]  UINT                      nStride,
  [in]  UINT                      cbBufferSize,
  [out] BYTE                      *pbBuffer
);

Parâmetros

[in] prc

Tipo: const WICRect*

O retângulo de pixels a serem copiados.

[in] uiWidth

Tipo: UINT

A largura para dimensionar o bitmap de origem. Esse parâmetro deve ser igual ao valor obtido por meio de IWICBitmapSourceTransform::GetClosestSize.

[in] uiHeight

Tipo: UINT

A altura para dimensionar o bitmap de origem. Esse parâmetro deve ser igual ao valor obtido por meio de IWICBitmapSourceTransform::GetClosestSize.

[in] pguidDstFormat

Tipo: WICPixelFormatGUID*

O GUID do formato de pixel desejado no qual os pixels devem ser retornados.

Esse GUID deve ser um formato obtido por meio de uma chamada GetClosestPixelFormat .

[in] dstTransform

Tipo: WICBitmapTransformOptions

A rotação ou inversão desejada para executar antes da cópia de pixel.

A transformação deve ser uma operação com suporte por uma chamada DoesSupportTransform .

Se um dstTransform for especificado, nStride será o passo transformado e será baseado no formato de pixel pguidDstFormat , não no formato de pixel da origem original.

[in] nStride

Tipo: UINT

O passo do buffer de destino.

[in] cbBufferSize

Tipo: UINT

O tamanho do buffer de destino.

[out] pbBuffer

Tipo: BYTE*

O buffer de saída.

Retornar valor

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

Comentários do desenvolvedor do Codec

Se NULL for passado para prc, toda a imagem será copiada.

Para obter detalhes de implementação do desenvolvedor de codec para esse método, consulte Implementando IWICBitmapSourceTransform.

Quando várias operações de transformação são solicitadas, o resultado depende da ordem em que as operações são executadas. Para garantir a previsibilidade e a consistência entre CODECs, é importante que todos os CODECs executem essas operações na mesma ordem. A ordem recomendada dessas operações é:

  1. Escala
  2. Crop
  3. Inverter/girar

A conversão de formato de pixel pode ser executada a qualquer momento, pois não tem efeito sobre as outras transformações.

O primeiro parâmetro , prc é usado para especificar a região de interesse para recortar a imagem. Por convenção, o dimensionamento é executado antes do recorte, portanto, se a imagem deve ser dimensionada, bem como recortada, a região de interesse deve ser determinada após a escala da imagem.

Se um dstTransform for especificado, o passo a passo será o passo transformado e será baseado no pixelFormat especificado na chamada CopyPixels , não no formato de pixel do quadro original.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2, Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho wincodec.h
Biblioteca Windowscodecs.lib

Confira também

Conceitual

IWICBitmapSourceTransform

Microsoft Windows Imaging Codec

Guia de programação

Referências

Exemplos e exemplos de código