Udostępnij przez


Implementowanie interfejsu IWICBitmapSource

IWICBitmapSource

IWICBitmapSource jest ważne w przypadku pracy z obrazami z perspektywy aplikacji. Reprezentuje ona abstrakcję najwyższego poziomu dla źródła obrazu oraz wszystkie interfejsy składnika Windows Imaging (WIC), które reprezentują obraz, w tym IWICBitmapFrameDecode, IWICBitmapi wszystkie interfejsy przekształcania (IWICBitmapScaler, IWICBitmapClipper, IWICBitmapFlipRotatori IWICFormatConverter) pochodzą z niego. W dowolnym momencie obiekt IWICBitmapSource może lub nie może być wspierany przez rzeczywistą mapę bitową w pamięci. Umożliwia to bardzo wydajne przetwarzanie przez aplikację, ponieważ obraz może być traktowany jako abstrakcja. Operacje przekształcania można połączyć w łańcuch w potoku transformacji bez zużywania zasobów pamięci do momentu, gdy aplikacja będzie gotowa do renderowania lub drukowania obrazu, w którym wywołuje metodę CopyPixels w ostatnim przekształceniu, aby uzyskać mapę bitową w pamięci obrazu z zastosowanymi wybranymi transformacjami.

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 );
}

Z perspektywy kodera metody IWICBitmapSource są implementowane w obiekcie dekodera ramki. Implementowanie IWICBitmapSource obejmuje opis tych metod oraz innych metod IWICBitmapFrameDecode, który jest pochodną IWICBitmapSource.

Referencja

IWICBitmapDecoder

IWICBitmapSource

IWICBitmapFrameDecode

Koncepcyjne

Implementacja IWICBitmapCodecProgressNotification (Dekoder)

implementowanie IWICBitmapFrameDecode

Jak napisać WIC-Enabled CODEC

Składnik programu Windows Imaging — omówienie