Compartir a través de


Efecto de detección de bordes

Filtra el contenido de una imagen, dejando líneas en los bordes de las secciones contrastando de la imagen.

El CLSID de este efecto es CLSID_D2D1EdgeDetection.

Imagen de ejemplo

ejemplo de salida del efecto

Código de ejemplo

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

Propiedades de efecto

Las propiedades del efecto de detección perimetral se definen mediante la enumeración D2D1_EDGEDETECTION_PROP .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows]
Servidor mínimo compatible Windows 10 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows]
Encabezado d2d1effects_2.h
Biblioteca d2d1.lib, dxguid.lib