Общие сведения об API WIC

Компонент визуализации (WIC) Windows предоставляет API на основе COM для использования в C и C++. API WIC предоставляет различные функциональные возможности, связанные с изображением, в том числе:

  • Встроенные кодеки для стандартных форматов веб-изображений.
  • Встроенная поддержка стандартных форматов метаданных.
  • Широкий диапазон поддержки формата пикселей.
  • Поддержка высокого цвета; включая 30-разрядный расширенный диапазон, 30-разрядную высокую точность и 48-разрядные форматы пикселей с высокой точностью и широкой диаграммой.
  • Расширяемая платформа для кодеков изображений, форматов пикселей и форматов метаданных.

Этот раздел содержит следующие разделы.

Файлы заголовков WIC

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 Импорт библиотеки, предоставляемой пакетом средств разработки программного обеспечения Windows (SDK).
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 Используется для чтения и записи данных из файла, сетевого ресурса, блока памяти и т. д.
Преобразователь формата Используется для преобразования из одного формата пикселей в другой.
Читатель запросов метаданных Используется для чтения метаданных изображения или кадра изображения.
Модуль записи запросов метаданных Используется для записи метаданных в кадр изображения или изображения.

 

См. также:

Справочные материалы

Примеры и примеры кода