Реализация IWICBitmapSource
IWICBitmapSource
IWICBitmapSource важно для работы с изображениями с точки зрения приложения. Он представляет собой абстракцию самого высокого уровня для источника изображения, а также все интерфейсы компонента образов Windows (WIC), которые представляют изображение, включая IWICBitmapFrameDecode, IWICBitmapи все интерфейсы преобразования (IWICBitmapScaler, IWICBitmapClipper, IWICBitmapFlipRotatorи IWICFormatConverter) являются производными от него. В любой момент времени объект IWICBitmapSource может быть поддержан или не поддержан фактическим растровым изображением в памяти. Это обеспечивает очень эффективную обработку приложением, так как изображение может рассматриваться как абстракция. Операции преобразования могут быть связаны в конвейере преобразования без использования ресурсов памяти, пока приложение не будет готово к отрисовке или печати изображения, и в это время оно вызывает метод CopyPixels для окончательного преобразования, чтобы получить в памяти растровое изображение с примененными выбранными преобразованиями.
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 );
}
С точки зрения кодека методы IWICBitmapSource реализуются в объекте декодировщика кадров. Эти методы описаны в разделе "Реализация IWICBitmapSource", а также другие методы IWICBitmapFrameDecode, выводящиеся из IWICBitmapSource.
Связанные разделы
-
Справочник
-
концептуальные
-
Реализация IWICBitmapCodecProgressNotification (Декодировщик)