Поделиться через


Обзор API WIC

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

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

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

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

API WIC определяются в следующих файлах заголовка и языка определения интерфейса (IDL):

Файл Описание
wincodec.h Определяет версии C и C++ основных API WIC.
wincodec.idl Определяет основные интерфейсы WIC.
wincodecsdk.h Определяет версии интерфейсов WIC метаданных для C и C++.
wincodecsdk.idl Определяет интерфейсы метаданных WIC.
wincodec_proxy.h Определяет экспорт прокси-сервера WIC.

 

Для использования WIC ваше приложение должно содержать wincodec.h и/или wincodecsdk.h в зависимости от потребностей приложения.

Файлы библиотеки

Файлы библиотек 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 .

Тип компонента Описание
растрового изображения Представляет записываемое в памяти представление IWICBitmapSource.
декодер Используется для декодирование данных изображения из потока в формате, полезном для обработки изображений.
кодировщик Записывает данные изображения в поток.
Stream Используется для чтения и записи данных из файла, сетевого ресурса, блока памяти и т. д.
конвертера форматов Используется для преобразования из одного формата пикселей в другой.
Чтение запроса метаданных Используется для чтения метаданных изображения или кадра изображения.
Автор запросов метаданных Используется для записи метаданных в изображение или кадр изображения.

 

См. также

Ссылки

Образцы и примеры кода