Мне нужно реализовать некоторые функциональные возможности хроматического ключа с Direct2d.
У меня есть пример кода из MSDN:
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();
Как бы то ни было, я немного новичок в WinAPI.
На нашей платформе есть функция для экземпляра yield ID3D11Device
и Я получаю DX11Texture
в качестве ввода.
У меня есть два вопроса:
1. Как я могу получить m_d2dContext
от ID3D11Device
?
2. Как я могу получить ID2D1Image
от DX11Texture