Freigeben über


IMixerPinConfig::SetColorKey-Methode (mpconfig.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die SetColorKey -Methode legt den Farbschlüssel fest, der von einem Videostream verwendet wird.

Syntax

HRESULT SetColorKey(
  [in] COLORKEY *pColorKey
);

Parameter

[in] pColorKey

Zeiger auf eine COLORKEY-Struktur .

Rückgabewert

Gibt einen HRESULT-Wert zurück.

Hinweise

Der Begriff Farbschlüssel hat unterschiedliche Bedeutungen, je nachdem, auf welchen Stream er sich bezieht. Der Farbschlüssel des primären Datenstroms bezieht sich auf den Zielfarbschlüssel, der von der Überlagerungsoberfläche verwendet wird. Die Farbtaste des sekundären Datenstroms bezieht sich auf den Quellfarbschlüssel, der beim Durchschneiden von einer Offscreen-Oberfläche auf die primäre Oberfläche verwendet wird.

Anwendungen sollten die Farbtaste des primären Pins auf eine obskure Farbe festlegen (eine Farbe, die aller Wahrscheinlichkeit nach nicht auf dem Desktop vorhanden ist). Überlagerungsmischerfilter versuchen, eine obskure Farbe zu wählen, aber wenn die Anwendung weiß, dass die angegebene Farbe Teil eines anderen Inhalts ist, sollte die Anwendung sie ändern.

Das Festlegen der Farbtaste für den sekundären Datenstrom kann verwendet werden, um den Datenstrom transparent zu machen und nicht ectangulare Bilder zu aktivieren. Wenn der sekundäre Stream beispielsweise Text mit Untertiteln ist, sollte der Textdecoder mit Untertiteln eine Volltonfarbe im Hintergrund zeichnen und dann die Farbtaste für die entsprechende Anheftung auf diese Farbe festlegen. Dadurch wird sichergestellt, dass alle Pixel mit Ausnahme der von der Farbtaste angegebenen übertragen werden. Wenn möglich, sollten Anwendungen den Farbschlüssel des sekundären Datenstroms auf den des primären Datenstroms festlegen, um einen leichten Leistungsvorteil zu erzielen.

Durch Festlegen dieses Werts für den primären Datenstrom wird der Zielfarbschlüssel festgelegt, der von der Überlagerungsoberfläche verwendet wird. Standardmäßig wird der Zielfarbschlüssel als Farbschlüssel für alle transparenten (sekundären) Datenströme verwendet.

Gültige Argumente für den pColorKey-Parameter sind CK_INDEX, wenn der Videoanzeigemodus auf 256 Farben festgelegt ist, und CK_RGB, wenn der Videoanzeigemodus auf eine höhere Farbtiefe festgelegt ist, z. B. Hi-Color, 24-Bit oder 32-Bit. Das CK_RGB-Flag muss zusammen mit dem CK_INDEX angegeben werden. Wenn CK_INDEX Flag festgelegt ist, wird der Index im Farbmodus 256 als Palettenindex verwendet. Sie müssen jedoch ein COLORREF mit einer gültigen true-Farbe bereitstellen, damit DirectShow zur verwendung der angegebenen true-Farbe wechseln kann, wenn der Anzeigemodus im Fly-Modus geändert wird. Dies liegt daran, dass eine Reihe von true-Farben einem einzelnen Palettenindex zugeordnet werden kann, aber der andere Weg vom Palettenindex zu einer wahren Farbe ist nicht eins zu 1.

Hinweis Derzeit wird diese Methode nur für den primären Eingabenadel implementiert.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mpconfig.h
Bibliothek Strmiids.lib

Weitere Informationen

Fehler- und Erfolgscodes

IMixerPinConfig-Schnittstelle

IMixerPinConfig::GetColorKey