Método IWICPlanarBitmapFrameEncode::WriteSource (wincodec.h)
Grava linhas dos planos de origem no formato codificado.
Sintaxe
HRESULT WriteSource(
[in] IWICBitmapSource **ppPlanes,
UINT cPlanes,
WICRect *prcSource
);
Parâmetros
[in] ppPlanes
Tipo: IWICBitmapSource**
Especifica uma matriz de IWICBitmapSource que representa planos de imagem.
cPlanes
Tipo: UINT
O número de planos de componente especificados pelo parâmetro planes.
prcSource
Tipo: WICRect*
O retângulo de origem de pixels a serem codificados dos planos IWICBitmapSource . Nulo indica toda a origem. A largura do rect de origem deve corresponder à largura definida por meio de SetSize. Chamadas repetidas do WriteSource podem ser feitas desde que a altura total acumulada do rect de origem seja a mesma definida por meio de SetSize.
Valor retornado
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
As chamadas sucessivas do WriteSource 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 formato de pixel intercalado definido 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 WIC, a subamostragem 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 subamostragem de chroma configurada, o parâmetro lineCount tem as seguintes restrições:
Chroma Subsampling | Coordenada X | Coordenada Y | Largura do Croma | Altura de Chroma |
---|---|---|---|---|
4:2:0 | Múltiplo de 2 | Múltiplo de 2 | lumaWidth / 2 Arredondado para cima até o inteiro mais próximo. | lumaHeight /2 Arredondado para cima até o inteiro mais próximo. |
4:2:2 | Múltiplo de 2 | Qualquer | lumaWidth / 2 Arredondado para cima até o inteiro mais próximo. | Qualquer |
4:4:4 | Qualquer | Qualquer | Qualquer | Qualquer |
4:4:0 | Qualquer | Múltiplo de 2 | lumaWidth | llumaHeight / 2 Arredondado para cima 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
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 |