色键效果

将给定颜色加上或减去对 alpha 的容忍度。 例如,色度键可以删除绿色屏幕覆盖效果的图像背景。

此效果的 CLSID CLSID_D2D1ChromaKey。

示例图像

效果输出示例

注意

在此示例中,色度键效果的输出是带有棋盘透明背景的第二个图像。 第三张图像将此与最终绿屏覆盖的背景图像相结合。

示例代码

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

效果属性

色键效果的属性由 D2D1_CHROMAKEY_PROP 枚举定义。

要求

要求 价值
支持的最低客户端 Windows 10 [桌面应用 |Windows 应用商店应用]
支持的最低服务器 Windows 10 [桌面应用 |Windows 应用商店应用]
页眉 d2d1effects_2.h
图书馆 d2d1.lib、dxguid.lib