Effet de détection de périphérie

Filtre le contenu d’une image, en laissant des lignes aux bords des sections contrastées de l’image.

Le CLSID de cet effet est CLSID_D2D1EdgeDetection.

Exemple d’image

exemple de sortie d’effet

Exemple de code

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

Propriétés d’effet

Les propriétés de l’effet de détection de bord sont définies par l’énumération D2D1_EDGEDETECTION_PROP .

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows 10 [applications de bureau | Applications du Windows Store]
Serveur minimal pris en charge Windows 10 [applications de bureau | Applications du Windows Store]
En-tête d2d1effects_2.h
Bibliothèque d2d1.lib, dxguid.lib