Implémentation de IWICBitmapSource
IWICBitmapSource
IWICBitmapSource est important pour l’utilisation d’images du point de vue d’une application. il représente l’abstraction de niveau le plus élevé pour une source d’image, et toutes les interfaces WIC (Windows Imaging Component) qui représentent une image, y compris IWICBitmapFrameDecode, IWICBitmapet toutes les interfaces de transformation (IWICBitmapScaler, IWICBitmapClipper, IWICBitmapFlipRotatoret IWICFormatConverter) sont dérivées de celle-ci. À un moment donné, un objet IWICBitmapSource peut ou non être sauvegardé par une image bitmap réelle en mémoire. Cela permet un traitement très efficace par une application, car une image peut être traitée comme une abstraction. Les opérations de transformation peuvent être chaînées dans un pipeline de transformation sans consommer de ressources mémoire tant que l’application n’est pas prête à afficher ou à imprimer l’image, à ce moment-là, elle appelle la méthode CopyPixels sur la transformation finale pour obtenir une bitmap en mémoire de l’image avec les transformations sélectionnées appliquées.
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 );
}
Du point de vue du codec, les méthodes IWICBitmapSource sont implémentées sur l’objet décodeur de trame. Ces méthodes sont décrites dans implémentation de IWICBitmapSource, ainsi que les autres méthodes sur IWICBitmapFrameDecode, dérivées de IWICBitmapSource.