Übersicht über die WIC-API
Die Windows-Bildverarbeitungskomponente (WIC) stellt eine COM-basierte API (Component Object Model) zur Verwendung in C und C++ bereit. Die WIC-API macht eine Vielzahl bildbezogener Funktionen verfügbar, darunter:
- Integrierte Codecs für die Standard-Webbildformate.
- Integrierte Unterstützung für Standardmetadatenformate.
- Ein breites Spektrum an Pixelformatunterstützung.
- Unterstützung für hohe Farben; einschließlich 30-Bit-Erweiterter Bereich, 30-Bit-Genauigkeit und 48-Bit-Pixelformate mit hoher Genauigkeit und breitem Farbraum.
- Erweiterbares Framework für Bildcodecs, Pixelformate und Metadatenformate.
Dieses Thema enthält die folgenden Themen.
WIC-Headerdateien
Die WIC-APIs werden in den folgenden Header- und IDL-Dateien (Interface Definition Language) definiert:
Datei | BESCHREIBUNG |
---|---|
wincodec.h | Definiert C- und C++-Versionen der primären WIC-APIs. |
wincodec.idl | Definiert die primären WIC-Schnittstellen. |
wincodecsdk.h | Definiert C- und C++-Versionen der Metadaten-WIC-APIs. |
wincodecsdk.idl | Definiert die WIC-Metadatenschnittstellen. |
wincodec_proxy.h | Definiert die WIC-Proxyexporte. |
Um WIC verwenden zu können, müssen Ihre Anwendungen wincodec.h und/oder wincodecsdk.h enthalten, abhängig von der API, die Ihre Anwendung benötigt.
Bibliotheksdateien
Die WIC-Bibliotheksdateien:
Datei | BESCHREIBUNG |
---|---|
windowscodecs.lib | Importieren Sie die vom Windows Software Development Kit (SDK) bereitgestellte Bibliothek. |
windowscodecs.dll | Vom Betriebssystem bereitgestellte Bestandsimplementierungsbibliothek. |
Zum Verknüpfen mit WIC-APIs muss Ihre Anwendung windowscodec.lib als zusätzliche Linkerabhängigkeit enthalten.
Klassenfabriken
In der folgenden Tabelle werden die beiden COM-Klassenfabriken beschrieben, die die WIC-APIs zum Erstellen von WIC-Komponenten bereitstellen.
Factory-Schnittstelle | BESCHREIBUNG |
---|---|
IWICImagingFactory | Primäre Klassenfactory für die Anwendungsentwicklung mithilfe von WIC-Komponenten. Diese Factory erstellt Komponenten wie Bilddecoder, Encoder und Streams. |
IWICComponentFactory | Klassenfactory für ENTWICKLER von WIC-Komponenten. Komponenten, die aus dieser Factory erstellt werden, werden hauptsächlich in der Codec- und Metadatenhandlerentwicklung verwendet. |
Verwenden Sie zum Erstellen einer Klassenfactory die COM-Funktion CoCreateInstance . Im folgenden Beispiel wird die Erstellung der WIC-Imaging-Factory veranschaulicht.
// 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)
);
Imaging-Komponenten
Die WIC-APIs stellen verschiedene Arten von Imagingkomponenten bereit. In der folgenden Tabelle werden einige der gängigen WIC-Komponenten beschrieben. Eine vollständige Liste der verfügbaren Komponenten finden Sie unter WIC-Schnittstellen.
Komponententyp | BESCHREIBUNG |
---|---|
Bitmap | Stellt eine beschreibbare In-Memory-Darstellung einer IWICBitmapSource dar. |
Decoder | Wird verwendet, um Bilddaten aus einem Stream in ein Format zu decodieren, das für die Bildverarbeitung nützlich ist. |
Encoder | Schreibt Bilddaten in einen Stream. |
Stream | Wird zum Lesen und Schreiben von Daten aus einer Datei, einer Netzwerkressource, einem Speicherblock usw. verwendet. |
Formatkonverter | Wird zum Konvertieren von einem Pixelformat in ein anderes verwendet. |
Metadatenabfrageleser | Dient zum Lesen von Metadaten eines Bilds oder Bildrahmens. |
Metadatenabfrage-Writer | Wird verwendet, um Metadaten in ein Bild oder einen Bildrahmen zu schreiben. |
Weitere Informationen