次の方法で共有


IMixerPinConfig::SetColorKey メソッド (mpconfig.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは SetColorKey 、ビデオ ストリームで使用されるカラー キーを設定します。

構文

HRESULT SetColorKey(
  [in] COLORKEY *pColorKey
);

パラメーター

[in] pColorKey

COLORKEY 構造体へのポインター。

戻り値

HRESULT 値を返します。

注釈

色キーという用語は、参照しているストリームによって意味が異なります。 プライマリ ストリームのカラー キーは、オーバーレイ サーフェスで使用されている宛先カラー キーを参照します。 セカンダリ ストリームのカラー キーは、オフスクリーン サーフェスからプライマリ サーフェスに blitting するときに使用されるソース カラー キーを参照します。

アプリケーションでは、プライマリ ピンのカラー キーをあいまいな色に設定する必要があります (すべての確率でデスクトップに存在しない色)。 オーバーレイ ミキサー フィルターはあいまいな色を選択しようとしますが、指定した色が他のコンテンツの一部であることがアプリケーションで認識されている場合は、アプリケーションで変更する必要があります。

セカンダリ ストリームでカラー キーを設定すると、ストリームを透明にし、非円形イメージを有効にすることができます。 たとえば、セカンダリ ストリームがクローズド キャプションテキストの場合、クローズド キャプション付きテキスト デコーダーは背景に単色を塗りつぶし、対応するピンのカラー キーをその色に設定する必要があります。 これにより、カラー キーで指定されたピクセルを除くすべてのピクセルが確実に転送されます。 可能であれば、アプリケーションはセカンダリ ストリームのカラー キーをプライマリ ストリームのカラー キーと同じに設定して、わずかなパフォーマンス上の利点を得る必要があります。

プライマリ ストリームでこの値を設定すると、オーバーレイ サーフェスで使用される宛先カラー キーが設定されます。 既定では、変換先のカラー キーは、すべての透過 (セカンダリ) ストリームのカラー キーとして使用されます。

pColorKey パラメーターの有効な引数には、ビデオ表示モードが 256 色に設定されている場合のCK_INDEXと、ビデオ表示モードがハイカラー、24 ビット、32 ビットなどの高い色深度に設定されている場合にCK_RGBが含まれます。 CK_RGB フラグは、CK_INDEXと共に指定する必要があります。 CK_INDEX フラグが設定されている場合、インデックスは 256 カラー モードでパレット インデックスとして使用されます。 ただし、有効な真の色を 持つ COLORREF を指定する必要があります。これにより、表示モードがオンザフライで変更された場合、DirectShow は指定された true 色を使用して に切り替えることができます。 これは、多数の真の色を 1 つのパレット インデックスにマップできますが、パレット インデックスから真の色に逆に移動することは一対一ではないためです。

メモ 現在、このメソッドはプライマリ入力ピンに対してのみ実装されています。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mpconfig.h
Library Strmiids.lib

こちらもご覧ください

エラーコードと成功コード

IMixerPinConfig インターフェイス

IMixerPinConfig::GetColorKey