Ü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

Referenzen

Beispiele und Codebeispiele