色键效果
将给定颜色加号或减去容差转换为 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 |