边缘检测效果
筛选掉图像的内容,使线条位于图像的对比部分的边缘。
此效果的 CLSID CLSID_D2D1EdgeDetection。
示例图像
效果输出示例
示例代码
ComPtr<ID2D1Effect> edgeDetectionEffect;
m_d2dContext->CreateEffect(CLSID_D2D1EdgeDetection, &edgeDetectionEffect);
edgeDetectionEffect->SetInput(0, bitmap);
edgeDetectionEffect->SetValue(D2D1_EDGEDETECTION_PROP_STRENGTH, 0.5f);
edgeDetectionEffect->SetValue(D2D1_EDGEDETECTION_PROP_BLUR_RADIUS, 0.0f);
edgeDetectionEffect->SetValue(D2D1_EDGEDETECTION_PROP_MODE, D2D1_EDGEDETECTION_MODE_SOBEL);
edgeDetectionEffect->SetValue(D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES, false);
edgeDetectionEffect->SetValue(D2D1_EDGEDETECTION_PROP_ALPHA_MODE, D2D1_ALPHA_MODE_PREMULTIPLIED);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(edgeDetectionEffect.Get());
m_d2dContext->EndDraw();
效果属性
边缘检测效果的属性由 D2D1_EDGEDETECTION_PROP 枚举定义。
要求
要求 | 价值 |
---|---|
支持的最低客户端 | Windows 10 [桌面应用 |Windows 应用商店应用] |
支持的最低服务器 | Windows 10 [桌面应用 |Windows 应用商店应用] |
页眉 | d2d1effects_2.h |
图书馆 | d2d1.lib、dxguid.lib |