Реализация 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.
Связанные темы
-
Reference
-
Основные понятия