Condividi tramite


Metodo IMixerPinConfig::SetColorKey (mpconfig.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il SetColorKey metodo imposta la chiave di colore utilizzata da un flusso video.

Sintassi

HRESULT SetColorKey(
  [in] COLORKEY *pColorKey
);

Parametri

[in] pColorKey

Puntatore a una struttura COLORKEY .

Valore restituito

Restituisce un valore HRESULT.

Commenti

Il termine chiave di colore ha significati diversi a seconda del flusso a cui fa riferimento. La chiave di colore del flusso primario fa riferimento alla chiave colore di destinazione usata dalla superficie di sovrapposizione. La chiave di colore del flusso secondario fa riferimento alla chiave del colore di origine usata quando si esegue il blitting da una superficie fuori schermo alla superficie primaria.

Le applicazioni devono impostare la chiave di colore del pin primario su un colore oscuro (un colore che, in ogni probabilità, non sarà presente sul desktop). I filtri mixer di sovrapposizione tenteranno di selezionare un colore oscuro, ma se l'applicazione sa che il colore specificato fa parte di altri contenuti, l'applicazione dovrebbe modificarla.

L'impostazione della chiave di colore nel flusso secondario può essere usata per rendere trasparente il flusso e abilitare immagini nontangulari. Ad esempio, se il flusso secondario è testo con sottotitoli codificati, il decodificatore di testo con sottotitoli codificati deve disegnare un colore a tinta unita nello sfondo e quindi impostare la chiave di colore sul segnaposto corrispondente su tale colore. In questo modo si garantisce che tutti i pixel vengano trasferiti ad eccezione di quelli specificati dalla chiave di colore. Se possibile, le applicazioni devono impostare la chiave di colore del flusso secondario sullo stesso del flusso primario per offrire un leggero vantaggio delle prestazioni.

L'impostazione di questo valore nel flusso primario imposta la chiave di colore di destinazione usata dalla superficie di sovrapposizione. Per impostazione predefinita, la chiave colore di destinazione viene usata come chiave di colore per tutti i flussi trasparenti (secondari).

Gli argomenti validi per il parametro pColorKey includono CK_INDEX quando la modalità di visualizzazione video è impostata su 256 colori e CK_RGB quando la modalità di visualizzazione video è impostata su una profondità di colore superiore, ad esempio hi-color, 24 bit o 32 bit. Il flag CK_RGB deve essere specificato insieme alla CK_INDEX. Se viene impostato CK_INDEX flag, l'indice verrà usato come indice della tavolozza in modalità colore 256. Tuttavia, devi fornire a COLORREF un colore true valido in modo che, se la modalità di visualizzazione viene modificata in tempo reale, DirectShow può passare a usando il colore true specificato. Ciò è dovuto al fatto che è possibile eseguire il mapping di un numero di colori reali a un singolo indice della tavolozza, ma passare dall'indice della tavolozza a un vero colore non è uno-a-uno.

Nota Attualmente, questo metodo viene implementato solo per il pin di input primario.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mpconfig.h
Libreria Strmiids.lib

Vedi anche

Codici di errore e di esito positivo

Interfaccia IMixerPinConfig

IMixerPinConfig::GetColorKey