Condividi tramite


Effetto rilevamento perimetrale

Filtra il contenuto di un'immagine, lasciando le righe ai bordi delle sezioni in contrasto dell'immagine.

ClSID per questo effetto è CLSID_D2D1EdgeDetection.

Immagine di esempio

esempio di output dell'effetto

Codice di esempio

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

Proprietà dell'effetto

Le proprietà per l'effetto di rilevamento perimetrale sono definite dall'enumerazione D2D1_EDGEDETECTION_PROP .

Requisiti

Requisito Valore
Client minimo supportato Windows 10 [app desktop | App di Windows Store]
Server minimo supportato Windows 10 [app desktop | App di Windows Store]
Intestazione d2d1effects_2.h
Libreria d2d1.lib, dxguid.lib