Efecto de morfología
Utilice el efecto de morfología para límites de borde finos o engrosados en una imagen. Este efecto crea un kernel que es 2 veces los valores Width y Height especificados. Este efecto centra el kernel en el píxel que calcula y devuelve el valor máximo en el kernel (si se dilata) o el valor mínimo en el kernel (si se está corriendo).
El CLSID de este efecto es CLSID_D2D1Morphology.
Imágenes de ejemplo
En este ejemplo se muestra la salida del efecto al usar el modo de degradación.
Antes |
---|
![]() |
Después |
![]() |
ComPtr<ID2D1Effect> morphologyEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Morphology, &morphologyEffect);
morphologyEffect->SetInput(0, bitmap);
morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_MODE, D2D1_MORPHOLOGY_MODE_ERODE);
morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_WIDTH, 14);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(morphologyEffect.Get());
m_d2dContext->EndDraw();
Propiedades de efecto
Enumeración de índice y nombre para mostrar | Tipo y valor predeterminado | Descripción |
---|---|---|
Modo D2D1_MORPHOLOGY_PROP_MODE |
D2D1_MORPHOLOGY_MODE D2D1_MORPHOLOGY_MODE_ERODE |
Modo de morfología. Los modos disponibles son degradados (aplanados) y dilate (engrosamiento). Consulta modos de morfología para obtener más información. |
Ancho D2D1_MORPHOLOGY_PROP_WIDTH |
UINT 1 |
Tamaño del kernel en la dirección X. Las unidades están en DIP. Los valores deben estar comprendidos entre 1 y 100. |
Altura D2D1_MORPHOLOGY_PROP_HEIGHT |
UINT 1 |
Tamaño del kernel en la dirección Y. Las unidades están en DIP. Los valores deben estar comprendidos entre 1 y 100. |
Modos de morfología
Nombre | Descripción |
---|---|
D2D1_MORPHOLOGY_MODE_ERODE | Se usa el valor mínimo de cada canal RGB del kernel. |
D2D1_MORPHOLOGY_MODE_DILATE | Se usa el valor máximo de cada canal RGB del kernel. |
Mapa de bits de salida
Para el modo DILATE, el tamaño del mapa de bits de salida aumenta:
Requisito | Valor |
---|---|
Crecimiento de mapa de bits de salida X = | INT(FLOAT(Width) * ((User PPP) / 96)) |
Crecimiento del mapa de bits de salida Y = | INT(FLOAT(Height) * ((User PPP) / 96)) |
Para el modo SHRINK, el tamaño del mapa de bits de salida se reduce:
Requisito | Valor |
---|---|
Crecimiento de mapa de bits de salida X = | INT(FLOAT(-Width) * ((User PPP) / 96)) |
Crecimiento del mapa de bits de salida Y = | INT(FLOAT(-Height) * ((User PPP) / 96)) |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo admitido | Windows 8 y Platform Update para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Servidor mínimo admitido | Windows 8 y Platform Update para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Encabezado | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |