Omówienie interfejsu API WIC
Składnik Windows Imaging (WIC) udostępnia interfejs API bazujący na modelu obiektowym COM, do użycia w językach C i C++. Interfejs API WIC udostępnia różne funkcje związane z obrazami, w tym:
- Wbudowane kodecze dla standardowych formatów obrazów internetowych.
- Wbudowana obsługa standardowych formatów metadanych.
- Obsługa szerokiego zakresu formatów pikseli.
- Obsługa koloru wysokiej jakości; w tym 30-bitowy rozszerzony zakres, 30-bitowa wysoka precyzja oraz 48-bitowe formaty pikseli z wysoką precyzją i szeroką gamą.
- Rozszerzalna struktura dla koderów obrazów, formatów pikseli i formatów metadanych.
Ten temat zawiera następujące tematy.
Pliki nagłówkowe WIC
Interfejsy API WIC są definiowane w następujących plikach nagłówka i języka IDL (Interface Definition Language):
Plik | Opis |
---|---|
wincodec.h | Definiuje wersje C i C++ podstawowych interfejsów API WIC. |
wincodec.idl | Definiuje podstawowe interfejsy WIC. |
wincodecsdk.h | Definiuje wersje C i C++ metadanych WIC API. |
wincodecsdk.idl | Definiuje interfejsy metadanych WIC. |
wincodec_proxy.h | Definiuje eksporty serwera proxy WIC. |
Aby korzystać z funkcji WIC, aplikacje muszą zawierać pliki wincodec.h i/lub wincodecsdk.h, w zależności od interfejsu API wymaganego przez aplikację.
Pliki biblioteczne
Pliki biblioteki WIC:
Plik | Opis |
---|---|
windowscodecs.lib | Zaimportuj bibliotekę udostępnioną przez zestaw Sdk (Software Development Kit) systemu Windows. |
windowscodecs.dll | Standardowa biblioteka implementacji oferowana przez system operacyjny. |
Aby połączyć się z interfejsami API WIC, aplikacja musi uwzględniać plik windowscodec.lib jako dodatkową zależność konsolidatora łączenia.
Fabryki klas
W poniższej tabeli opisano dwie fabryki klas COM, które zapewniają interfejsy API WIC dla tworzenia składników WIC.
Interfejs fabryki | Opis |
---|---|
IWICImagingFactory | Podstawowa klasa fabryczna na potrzeby tworzenia aplikacji przy użyciu składników WIC. Ta fabryka tworzy składniki, takie jak dekodatory obrazów, kodery i strumienie. |
IWICComponentFactory | Fabryka klas przeznaczona dla twórców komponentów WIC. Składniki utworzone z tej fabryki są używane głównie w programach koderskich i programach obsługi metadanych. |
Aby utworzyć jedną z fabryk klas, użyj funkcji CoCreateInstance COM. W poniższym przykładzie pokazano tworzenie fabryki obrazów 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)
);
Składniki obrazu
Interfejsy API WIC udostępniają kilka typów składników obrazu. W poniższej tabeli opisano niektóre typowe składniki WIC. Aby uzyskać pełną listę dostępnych składników, zobacz interfejsy WIC.
Typ składnika | Opis |
---|---|
Bitmap Mapa bitowa | Reprezentuje możliwą do zapisu reprezentację w pamięci IWICBitmapSource. |
dekoder | Służy do dekodowania danych obrazu ze strumienia do formatu przydatnego do przetwarzania obrazów. |
enkoder | Zapisuje dane obrazu do strumienia. |
Strumień | Służy do odczytywania i zapisywania danych z pliku, zasobu sieciowego, bloku pamięci itd. |
Konwerter formatów | Służy do konwertowania z jednego formatu pikseli na inny. |
czytnika zapytań metadanych | Służy do odczytywania metadanych obrazu lub ramki obrazu. |
Autor zapytań metadanych | Służy do zapisywania metadanych w obrazie lub ramce obrazu. |
Zobacz też