Método IWICBitmapSource::CopyPixels (wincodec.h)
Instrui o objeto a produzir pixels.
Sintaxe
HRESULT CopyPixels(
[in] const WICRect *prc,
[in] UINT cbStride,
[in] UINT cbBufferSize,
[out] BYTE *pbBuffer
);
Parâmetros
[in] prc
Tipo: const WICRect*
O retângulo a ser copiado. Um valor NULL especifica todo o bitmap.
[in] cbStride
Tipo: UINT
O passo do bitmap
[in] cbBufferSize
Tipo: UINT
O tamanho do buffer.
[out] pbBuffer
Tipo: BYTE*
Um ponteiro para o buffer.
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
CopyPixels é uma das duas rotinas de processamento de imagem main (a outra é Lock) disparando o processamento real. Ele instrui o objeto a produzir pixels de acordo com seu algoritmo – isso pode envolver a decodificação de uma parte de um JPEG armazenado em disco, a cópia de um bloco de memória ou até mesmo a computação analítica de um gradiente complexo. O algoritmo depende completamente do objeto que implementa a interface.
O chamador pode restringir a operação a um ROI (retângulo de interesse) usando o parâmetro prc. O sub-retângulo ROI deve estar totalmente contido nos limites do bitmap. Especificar um ROI NULL implica que todo o bitmap deve ser retornado.
O chamador controla o gerenciamento de memória e deve fornecer um buffer de saída (pbBuffer) para os resultados da cópia junto com os limites do buffer (cbBufferSize). O parâmetro cbStride define a contagem de bytes entre dois pixels adjacentes verticalmente no buffer de saída. O chamador deve garantir que haja buffer suficiente para concluir a chamada com base no formato de largura, altura e pixel do bitmap e no sub-retângulo fornecido ao método copy.
Se o chamador precisar executar várias cópias de um IWICBitmapSource caro, como um JPEG, é recomendável criar um IWICBitmap na memória primeiro.
Comentários do desenvolvedor do Codec
O receptor deve gravar apenas no primeiro (prc-Width>*bitsperpixel+7)/8 bytes de cada linha do buffer de saída (nesse caso, uma linha é uma cadeia de caracteres consecutiva de bytes cbStride ).Requisitos
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 |
DLL | Windowscodecs.dll |