Compartilhar via


Método IWICPlanarBitmapFrameEncode::WritePixels (wincodec.h)

Grava linhas dos planos de origem no formato codificado.

Sintaxe

HRESULT WritePixels(
       UINT           lineCount,
  [in] WICBitmapPlane *pPlanes,
       UINT           cPlanes
);

Parâmetros

lineCount

Tipo: UINT

O número de linhas a serem codificadas. Consulte a seção Comentários para restrições de contagem de linhas específicas do WIC Jpeg.

[in] pPlanes

Tipo: WICBitmapPlane*

Especifica os buffers de origem para cada plano de componente codificado.

cPlanes

Tipo: UINT

O número de planos de componente especificados pelo parâmetro pPlanes .

Retornar valor

Tipo: HRESULT

Se os planos e o retângulo de origem não atenderem aos requisitos, esse método falhará com WINCODEC_ERR_IMAGESIZEOUTOFRANGE.

Se o formato IWICBitmapSource não atender aos requisitos do codificador, esse método falhará com WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT.

Comentários

Sucessivas chamadas WritePixels são assumidas sequencialmente para adicionar linhas de verificação à imagem de saída. IWICBitmapFrameEncode::Initialize, IWICBitmapFrameEncode::SetSize e IWICBitmapFrameEncode::SetPixelFormat devem ser chamados antes desse método ou ele falhará.

O conjunto de formatos de pixel intercalados por meio de IWICBitmapFrameEncode::SetPixelFormat e os parâmetros de codificação específicos do codec determinam os formatos planares com suporte.

Codificador WIC JPEG: QueryInterface pode ser usado para obter essa interface da implementação WIC JPEG IWICBitmapFrameEncode . Ao usar esse método para codificar dados Y'CbCr com o codificador JPEG do WIC, a subampação chroma pode ser configurada com opções de codificador durante a criação do quadro. Consulte a Visão geral da codificação e IWICBitmapEncoder::CreateNewFrame para obter mais detalhes.

Dependendo da subampa do chroma configurado, o parâmetro lineCount tem as seguintes restrições:

Subampling chroma Restrição de contagem de linhas Largura do plano chroma Altura do plano chroma
4:2:0 Múltiplo de 2, a menos que a chamada cubra a última linha de verificação da imagem lumaWidth / 2 Arredondado até o inteiro mais próximo. lumaHeight / 2 Arredondado até o inteiro mais próximo.
4:2:2 Qualquer lumaWidth / 2 Arredondado até o inteiro mais próximo. Qualquer
4:4:4 Qualquer Qualquer Qualquer
4:4:0 Múltiplo de 2, a menos que a chamada cubra a última linha de verificação da imagem Qualquer llumaHeight / 2 Arredondado até o inteiro mais próximo.
 

A largura completa da linha de verificação deve ser codificada e a largura das fontes de bitmap deve corresponder à configuração planar.

Além disso, se um formato de pixel for definido por meio de IWICBitmapFrameEncode::SetPixelFormat, ele deverá ser GUID_WICPixelFormat24bppBGR.

Os formatos de pixel com suporte das fontes de bitmap passadas para esse método são os seguintes:

Contagem de planos Plano 1 Plano 2 Plano 3
3 GUID_WICPixelFormat8bppY GUID_WICPixelFormat8bppCb GUID_WICPixelFormat8bppCr
2 GUID_WICPixelFormat8bppY GUID_WICPixelFormat16bppCbCr N/D

Requisitos

Requisito Valor
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

Visão geral da codificação

IWICBitmapEncoder::CreateNewFrame

IWICPlanarBitmapFrameEncode