Общие сведения об API WIC
Компонент обработки образов Windows (WIC) предоставляет API на основе COM для использования в C и C++. API WIC предоставляет различные функциональные возможности, связанные с изображениями, в том числе:
- Встроенные кодеки для стандартных форматов веб-изображений.
- Встроенная поддержка стандартных форматов метаданных.
- Широкий диапазон поддержки формата пикселей.
- Поддержка высоких цветов; включая 30-разрядные расширенные диапазоны, 30-разрядные высокоточные и 48-разрядные форматы пикселей с высокой точностью и широкой гаммой.
- Расширяемая платформа для кодеков изображений, форматов пикселей и форматов метаданных.
Этот раздел содержит следующие разделы.
API-интерфейсы WIC определяются в следующих файлах заголовков и языка определения интерфейса (IDL):
Файл | Описание |
---|---|
wincodec.h | Определяет версии C и C++ основных API WIC. |
wincodec.idl | Определяет основные интерфейсы WIC. |
wincodecsdk.h | Определяет версии API-интерфейсов WIC для метаданных на C и C++. |
wincodecsdk.idl | Определяет интерфейсы метаданных WIC. |
wincodec_proxy.h | Определяет экспорт прокси-сервера WIC. |
Чтобы использовать WIC, приложения должны включать wincodec.h и (или) wincodecsdk.h в зависимости от API, который требуется приложению.
Файлы библиотеки WIC:
Файл | Описание |
---|---|
windowscodecs.lib | Библиотека импорта, предоставляемая пакетом средств разработки программного обеспечения (SDK) для Windows. |
windowscodecs.dll | Библиотека реализации акций, предоставляемая операционной системой. |
Чтобы связаться с API WIC, приложение должно включать windowscodec.lib в качестве дополнительной зависимости компоновщика.
В следующей таблице описаны две фабрики com-классов, предоставляемые API WIC для создания компонентов WIC.
Интерфейс фабрики | Описание |
---|---|
IWICImagingFactory | Первичная фабрика классов для разработки приложений с помощью компонентов WIC. Эта фабрика создает такие компоненты, как декодеры изображений, кодировщики и потоки. |
IWICComponentFactory | Фабрика классов, предназначенная для разработчиков компонентов WIC. Компоненты, созданные на основе этой фабрики, в основном используются при разработке кодека и обработчика метаданных. |
Чтобы создать фабрику любого класса, используйте com-функцию CoCreateInstance . В следующем примере показано создание фабрики образов WIC.
// Initialize COM
CoInitialize(NULL);
// The factory pointer
IWICImagingFactory *pFactory = NULL;
// Create the COM imaging factory
HRESULT hr = CoCreateInstance(
CLSID_WICImagingFactory,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pFactory)
);
API WIC предоставляют несколько типов компонентов для создания образов. В следующей таблице описаны некоторые распространенные компоненты WIC. Полный список доступных компонентов см. в разделе Интерфейсы WIC.
Тип компонента | Описание |
---|---|
Bitmap | Представляет записываемое в памяти представление IWICBitmapSource. |
Декодер | Используется для декодирования данных изображения из потока в формате, удобном для обработки изображений. |
Кодировщик | Записывает данные изображения в поток. |
Stream | Используется для чтения и записи данных из файла, сетевого ресурса, блока памяти и т. д. |
Преобразователь формата | Используется для преобразования из одного формата пикселей в другой. |
Читатель запросов метаданных | Используется для чтения метаданных изображения или кадра изображения. |
Модуль записи запросов метаданных | Используется для записи метаданных в изображение или кадр изображения. |