Schnittstellenmethode – Anforderungen
Nicht jede Methode auf jeder Schnittstelle muss über eine -Implementierung verfügen. Einige Codecs verfügen beispielsweise über globale Metadaten, Miniaturansichten oder Farbkontexte, während andere Codecs diese nur pro Frame bereitstellen. Wenn Codecautoren diese nur pro Frame bereitstellen, müssen sie nur get / SetThumbnail oder ColorContexts implementieren oder die GetMetadataQueryReader- oder GetMetadataQueryWriter-Methoden für DEN IWICBitmapFrameDecode und DEN IWICBitmapFrameEncode anstelle von IWICBitmapDecoder und IWICBitmapEncoderimplementieren. Ebenso verwenden einige Codecs keine indizierten Formate und sind daher nicht erforderlich, um die Methoden CopyPalette und SetPalette zu implementieren. Diese Methoden sind daher optional und bleiben dem Ermessen des Codec-Erstellers überlassen. Die meisten anderen Methoden sind erforderlich.
Für Windows 7 sind Get / SetPreview und Get / SetThumbnail erforderlich und müssen entweder für die Klassen auf Enthalten-Ebene oder für die Klassen auf Frameebene implementiert werden. Wenn Ihr Bilddateiformat keine Vorschauen oder Miniaturansichten an einem dieser Speicherorte unterstützt, sollten Sie das Bilddateiformat überarbeiten, um eine solche Unterstützung zu bieten.
Wenn eine Methode nicht implementiert ist, ist es wichtig, einen entsprechenden Fehler zurück zu geben, damit der Aufrufer feststellen kann, dass das angeforderte Feature nicht unterstützt wird. Wenn Codec-Autoren beispielsweise keine Miniaturansichten auf Containerebene unterstützen, sollten sie WINCODEC _ ERR _ CODECNOTHUMBNAIL zurückgeben, wenn eine Anwendung GetThumbnailaufruft, und wenn sie keine Palette haben, sollten sie WINCODEC _ ERR _ PALETTEUNAVAILABLE zurückgeben. Wenn kein geeigneter WINCODEC _ ERR-Code vorhanden ist, sollte der Codec E NOTIMPL für _ nichtimplementierte Methoden zurückgeben.
In den folgenden Tabellen sind die erforderlichen und optionalen Methoden für jede Windows WIC-Schnittstellen (Imaging Component) aufgeführt.
Erforderlich
Optional
¹Erstützt, wenn Ihr Imagedateiformat Vorschauversionen auf Containerebene unterstützt. Wenn dies nicht der Fall ist, wird dringend empfohlen, das Bilddateiformat zu überarbeiten, um dies zu unterstützen. Wenn hier implementiert, ist eine entsprechende SetPreview für die Codierungsklasse auf Containerebene erforderlich.
Reliquired entweder hier oder in der Decodierungsklasse auf Frameebene, je nachdem, wo in Ihrem Bilddateiformat Miniaturansichten gespeichert werden. Wenn dies hier implementiert wird, ist eine entsprechende SetThumbnail für die Codierungsklasse auf Containerebene erforderlich.
Erforderlich
Optional
Erforderlich, je nachdem, wo im Bilddateiformat Miniaturansichten gespeichert werden, entweder hier oder in der Decodierungsklasse auf Containerebene. Wenn dies hier implementiert wird, ist eine entsprechende SetThumbnail für die Encoderklasse auf Frameebene erforderlich.
Erforderlich
Erforderlich
Optional
Siehe Unterstützung für IWICDevelopRawweiter unten in diesem Dokument.
Erforderlich
Optional
¹Erstützt, wenn Ihr Bilddateiformat Vorschauversionen auf Frameebene unterstützt.
Je nachdem, wo in Ihrem Bilddateiformat Miniaturansichten gespeichert werden, ist dies entweder hier oder in der Codierungsklasse auf Frameebene erforderlich. Wenn dies hier implementiert wird, ist eine entsprechende GetThumbnail für die Decodierungsklasse auf Containerebene erforderlich.
Erforderlich
Optional
Ist entweder hier oder in der Codierungsklasse auf Containerebene erforderlich, je nachdem, wo in Ihrem Bilddateiformat Miniaturansichten gespeichert werden. Wenn dies hier implementiert wird, ist eine entsprechende GetThumbnail für die Decodierungsklasse auf Frameebene erforderlich.
Erforderlich