Compartilhar via


Efeito chroma-key

Converte uma determinada cor mais ou menos uma tolerância em alfa. Por exemplo, chroma-key pode remover a tela de fundo de uma imagem para um efeito de sobreposição de tela verde.

O CLSID para esse efeito é CLSID_D2D1ChromaKey.

Imagem de exemplo

exemplo de saída de efeito

Observação

Neste exemplo, a saída do efeito chroma-key é a segunda imagem com a tela de fundo transparente do quadro de verificação. A terceira imagem combina isso com uma imagem de plano de fundo para a sobreposição final da tela verde.

Código de exemplo

ComPtr<ID2D1Effect> chromakeyEffect;
m_d2dContext->CreateEffect(CLSID_D2D1ChromaKey, &chromakeyEffect);
 
chromakeyEffect->SetInput(0, bitmap);
chromaKeyEffect->SetValue(D2D1_CHROMAKEY_PROP_COLOR, {0.0f, 1.0f, 0.0f, 0.0f});
chromakeyEffect->SetValue(D2D1_CHROMAKEY_PROP_TOLERANCE, 0.2f);
chromakeyEffect->SetValue(D2D1_CHROMAKEY_PROP_INVERT_ALPHA, false);
chromakeyEffect->SetValue(D2D1_CHROMAKEY_PROP_FEATHER, false);
 
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(chromakeyEffect.Get());
m_d2dContext->EndDraw();

Propriedades de efeito

As propriedades do efeito chroma-key são definidas pela enumeração D2D1_CHROMAKEY_PROP .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Servidor mínimo com suporte Windows 10 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Cabeçalho d2d1effects_2.h
Biblioteca d2d1.lib, dxguid.lib