Поделиться через


Эффект chroma-key

Преобразует заданный цвет с плюсом или минусом допустимости в альфа-формат. Например, chroma-key может удалить фон изображения для эффекта наложения зеленого экрана.

CLSID для этого эффекта CLSID_D2D1ChromaKey.

Пример изображения

Пример выходных данных эффекта

Примечание

В этом примере выходными данными эффекта chroma-key является второе изображение с прозрачным фоном для шахматной доски. Третье изображение объединяет это с фоновым изображением для окончательного наложения зеленого экрана.

Образец кода

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

Свойства эффекта

Свойства эффекта chroma-key определяются перечислением D2D1_CHROMAKEY_PROP .

Требования

Требование Значение
Минимальная версия клиента Windows 10 [классические приложения | Приложения Магазина Windows]
Минимальная версия сервера Windows 10 [классические приложения | Приложения Магазина Windows]
Заголовок d2d1effects_2.h
Библиотека d2d1.lib, dxguid.lib