Compartilhar via


Método IMixerPinConfig::SetColorKey (mpconfig.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O SetColorKey método define a chave de cor que está sendo usada por um fluxo de vídeo.

Sintaxe

HRESULT SetColorKey(
  [in] COLORKEY *pColorKey
);

Parâmetros

[in] pColorKey

Ponteiro para uma estrutura COLORKEY .

Retornar valor

Retorna um HRESULT valor .

Comentários

O termo chave de cor tem significados diferentes, dependendo de qual fluxo está se referindo. A chave de cor do fluxo primário refere-se à chave de cor de destino que está sendo usada pela superfície de sobreposição. A chave de cor do fluxo secundário refere-se à chave de cor de origem usada ao blitting de uma superfície fora da tela para a superfície primária.

Os aplicativos devem definir a chave de cor do pino primário como uma cor obscura (alguma cor que, com toda a probabilidade, não estará presente na área de trabalho). Os filtros do mixer de sobreposição tentarão escolher uma cor obscura, mas se o aplicativo souber que a cor especificada faz parte de algum outro conteúdo, o aplicativo deverá alterá-la.

A definição da chave de cor no fluxo secundário pode ser usada para tornar o fluxo transparente e habilitar imagens não retangulares. Por exemplo, se o fluxo secundário for um texto com legenda oculta, o decodificador de texto com legenda oculta deverá pintar uma cor sólida na tela de fundo e, em seguida, definir a chave de cor no pino correspondente para essa cor. Isso garante que todos os pixels sejam transferidos, exceto aqueles especificados pela chave de cor. Se possível, os aplicativos devem definir a chave de cor do fluxo secundário como a mesma do fluxo primário para dar uma pequena vantagem de desempenho.

Definir esse valor no fluxo primário define a chave de cor de destino que está sendo usada pela superfície de sobreposição. Por padrão, a chave de cor de destino é usada como a chave de cor para todos os fluxos transparentes (secundários).

Os argumentos válidos para o parâmetro pColorKey incluem CK_INDEX quando o modo de exibição de vídeo é definido como 256 cores e CK_RGB quando o modo de exibição de vídeo é definido como uma profundidade de cor mais alta, como hi-color, 24 bits ou 32 bits. O sinalizador CK_RGB deve ser especificado junto com o CK_INDEX. Se CK_INDEX sinalizador for definido, o índice será usado como índice de paleta no modo de cor 256. Mas você deve fornecer um COLORREF com uma cor verdadeira válida para que, se o modo de exibição for alterado em tempo real, o DirectShow poderá alternar para usando a cor verdadeira especificada. Isso ocorre porque várias cores verdadeiras podem ser mapeadas para um único índice de paleta, mas ir para o outro lado do índice de paleta para uma cor verdadeira não é um para um.

Nota Atualmente, esse método é implementado apenas para o pin de entrada primário.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mpconfig.h
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IMixerPinConfig Interface

IMixerPinConfig::GetColorKey