Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
IWICBitmapFrameDecode
IWICBitmapFrameDecode é a interface de nível de quadro que fornece acesso aos bits de imagem reais. Você implementa essa interface em sua classe de decodificação em nível de quadro. Como é derivado de IWICBitmapSource, sua implementação de IWICBitmapFrameDecode incluirá uma implementação dos métodos IWICBitmapSource. Os métodos adicionais em IWICBitmapFrameDecode fornecem acesso à miniatura no nível do quadro, a quaisquer contextos de cores para a imagem e ao leitor de consulta de metadados para o quadro.
interface IWICBitmapFrameDecode : IWICBitmapSource
{
// Required methods
HRESULT GetThumbnail ( IWICBitmapSource **ppIThumbnail );
HRESULT GetColorContexts ( UINT cCount,
IWICColorContext **ppIColorContexts, UINT *pcActualCount );
HRESULT GetMetadataQueryReader ( IWICMetadataQueryReader **ppIMetadataQueryReader );
// Methods inherited from IWICBitmapSource
HRESULT GetSize ( UINT *puiWidth, UINT *puiHeight );
HRESULT GetPixelFormat ( WICPixelFormatGUID *pPixelFormat );
HRESULT GetResolution ( double *pDpiX, double *pDpiY );
HRESULT CopyPixels ( const WICRect *prc,
UINT cbStride,
UINT cbBufferSize,
BYTE *pbBuffer );
// Optional method
HRESULT CopyPalette ( IWICPalette *pIPalette );
}
- ObterMiniatura
- GetColorContexts
- GetMetadataQueryReader
- GetSize, GetPixelFormat e GetResolution
- CopyPixels
- CopyPalette
GetThumbnail
GetThumbnail retorna a miniatura do quadro atual. Por motivos de desempenho, as miniaturas são mais comumente codificadas em formato JPEG. Tal como acontece com a Pré-visualização no descodificador, não é necessário ou recomendado fornecer o seu próprio descodificador JPEG para miniaturas. Em vez disso, você deve delegar ao decodificador JPEG fornecido pelo Windows Imaging Component (WIC).
Para obter mais informações sobre miniaturas, consulte o método SetThumbnail em Implementing IWICBitmapFrameEncode.
GetColorContexts
GetColorContexts retorna os contextos de cores válidos (também conhecidos como perfis de cores) associados à imagem neste quadro. Na maioria dos casos, será apenas um, mas poderá haver casos em que existam dois ou, raramente, mais. O chamador passará um ou mais objetosIWICColorContext, definindo o parâmetro cCount para indicar quantos eles estão passando. Esse método preenche os objetos IWICColorContext com os dados reais de contexto de cores para os perfis de cores associados à imagem. Defina o parâmetro pcActualCount para o número real de contextos de cores associados à imagem, mesmo que este seja maior do que o número que você pode retornar. (No caso em que mais contextos de cores estão disponíveis do que o número de objetos IWICColorContext passados pelo chamador, isto informa ao chamador que há um ou mais outros objetos disponíveis.)
GetMetadataQueryReader
GetMetadataQueryReader retorna um IWICMetadataQueryReader que um aplicativo pode usar para recuperar metadados do quadro de imagem. Essa interface é implementada por um manipulador de metadados e permite que um aplicativo consulte propriedades de metadados específicas pertencentes a um formato de metadados específico. Para obter mais informações, consulte Implementing IWICMetadataBlockReader.
Para instanciar um {} {} IWICMetadataQueryReader {} {}, chame {} {} CreateQueryReaderFromBlockReader {} {} no {} {} IWICComponentFactory {} {}.
IWICMetadataQueryReader* pQueryReader = NULL;
HRESULT hr;
hr = m_pComponentFactory->CreateQueryReaderFromBlockReader(
static_cast<IWICMetadataBlockWriter*>(this),
&pQueryReader);
GetSize, GetPixelFormat e GetResolution
GetSize, GetPixelFormate GetResolution são autoexplicativos e retornam as propriedades solicitadas da imagem.
CopyPixels
CopyPixels é o método que um aplicativo chama quando deseja criar um bitmap na memória que pode ser renderizado para o monitor ou impressora. Este é o método que faz a decodificação real dos bits de imagem. Os parâmetros são um retângulo, que representa a região de interesse na imagem de origem para copiar na memória; o stride, que especifica o número de bytes em uma linha de varrimento; o tamanho do buffer na memória que foi alocado pela aplicação; e um ponteiro para o buffer no qual os bits de imagem solicitados devem ser copiados. (Para evitar que possíveis saturações de buffer introduzam vulnerabilidades de segurança, certifique-se de copiar apenas a quantidade de dados de imagem para o buffer que o parâmetro cbBufferSize especificar.)
CopyPalette
Somente codecs que têm formatos de pixel indexados devem implementar o método CopyPalette. Se uma imagem usa um formato indexado, use esse método para retornar a paleta de cores usada na imagem. Se o codec não tiver um formato indexado, retorne WINCODEC_ERR_PALETTEUNAVAILABLE.
Tópicos relacionados
-
Referência
-
Conceptual
-
Implementando IWICBitmapSource
-
Visão geral do Windows Imaging Component