Implementieren von IWICBitmapSource
Iwicbitmapsource
IWICBitmapSource ist wichtig für die Arbeit mit Bildern aus anwendungstechnischer Sicht. Es stellt die Abstraktion auf höchster Ebene für eine Bildquelle dar, und alle Windows Imaging Component -Schnittstellen (WIC), die ein Bild darstellen, einschließlich IWICBitmapFrameDecode, IWICBitmap und alle Transformationsschnittstellen (IWICBitmapScaler, IWICBitmapClipper, IWICBitmapFlipRotator und IWICFormatConverter) werden daraus abgeleitet. Zu einem bestimmten Zeitpunkt kann ein IWICBitmapSource-Objekt durch eine tatsächliche Bitmap im Arbeitsspeicher gesichert werden. Dies ermöglicht eine sehr effiziente Verarbeitung durch eine Anwendung, da ein Bild als Abstraktion behandelt werden kann. Transformationsvorgänge können in einer Transformationspipeline verkettet werden, ohne Arbeitsspeicherressourcen zu verbrauchen, bis die Anwendung bereit ist, das Bild zu rendern oder zu drucken. Zu diesem Zeitpunkt ruft sie die CopyPixels-Methode für die endgültige Transformation auf, um eine Bitmap im Arbeitsspeicher des Bilds mit den ausgewählten Transformationen zu erhalten.
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 );
}
Aus Codecsicht werden die IWICBitmapSource-Methoden im Framedecoderobjekt implementiert. Diese Methoden werden in Implementieren von IWICBitmapSource beschrieben, zusammen mit den anderen Methoden auf IWICBitmapFrameDecode, die von IWICBitmapSource abgeleitet wird.
Zugehörige Themen
-
Referenz
-
Konzept
-
Implementieren von IWICBitmapCodecProgressNotification (Decoder)