Udostępnij za pośrednictwem


Efekt chroma-kluczowy

Konwertuje dany kolor plus lub minus tolerancję na alfa. Na przykład chroma-key może usunąć tło obrazu dla efektu nakładki na zielony ekran.

Identyfikator CLSID dla tego efektu jest CLSID_D2D1ChromaKey.

Przykładowy obraz

przykład danych wyjściowych efektów

Nuta

W tym przykładzie dane wyjściowe efektu chroma-key są drugim obrazem z przezroczystym tłem tablicy kontrolnej. Trzeci obraz łączy ten obraz z obrazem tła dla ostatniej nakładki z zielonym ekranem.

Przykładowy kod

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();

Właściwości efektu

Właściwości efektu chroma-key są definiowane przez wyliczenie D2D1_CHROMAKEY_PROP.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient Windows 10 [aplikacje klasyczne | Aplikacje ze Sklepu Windows]
Minimalny obsługiwany serwer Windows 10 [aplikacje klasyczne | Aplikacje ze Sklepu Windows]
Nagłówek d2d1effects_2.h
Biblioteka d2d1.lib, dxguid.lib