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 |