Implementando IWICBitmapSource
IWICBitmapSource
IWICBitmapSource é importante para trabalhar com imagens de uma perspetiva de aplicação. Ele representa a abstração de mais alto nível para uma fonte de imagem, e todas as interfaces do Windows Imaging Component (WIC) que representam uma imagem, incluindo IWICBitmapFrameDecode, IWICBitmap, e todas as interfaces de transformação (IWICBitmapScaler, IWICBitmapClipper, IWICBitmapFlipRotatore IWICFormatConverter) são derivadas dele. A qualquer momento específico, um objeto IWICBitmapSource pode ou não ser apoiado por um bitmap real na memória. Isso permite um processamento muito eficiente por um aplicativo, porque uma imagem pode ser tratada como uma abstração. As operações de transformação podem ser encadeadas num pipeline de transformação sem consumir recursos de memória até que a aplicação esteja pronta para renderizar ou imprimir a imagem, momento em que invoca o método CopyPixels na transformação final para obter um bitmap na memória da imagem com as transformações selecionadas aplicadas.
interface IWICBitmapSource : IUnknown
{
// Required methods
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 );
}
De uma perspetiva de codec, os métodos de IWICBitmapSource são implementados no objeto decodificador de quadros. Esses métodos são descritos em Implementing IWICBitmapSource, juntamente com os outros métodos em IWICBitmapFrameDecode, que é derivado de IWICBitmapSource.
Tópicos relacionados
-
de referência
-
Conceptual
-
Implementando IWICBitmapCodecProgressNotification (Decodificador)
-
Implementação do IWICBitmapFrameDecode
-
Visão geral do componente Windows Imaging