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


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

 

См. также:

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

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