Efecto de borde

Use el efecto de borde para extender una imagen desde los bordes. Puede usar este efecto para repetir los píxeles desde los bordes de la imagen, encapsular los píxeles desde el extremo opuesto de la imagen o reflejar los píxeles en el borde del mapa de bits para extender la región del mapa de bits.

El CLSID de este efecto es CLSID_D2D1Border.

Imágenes de ejemplo

Los ejemplos aquí muestran la salida del efecto de borde mediante cada modo. El tamaño de salida es infinito, pero estas imágenes de ejemplo se recortan al doble del tamaño.

Reflejo

Antes
Captura de pantalla que muestra la imagen antes del efecto.
Después
Captura de pantalla que muestra la imagen después de la transformación.

Clamp

Antes
Captura de pantalla que muestra la imagen antes del efecto para una abrazadera.
Después
Captura de pantalla que muestra la imagen después de la transformación de una abrazadera.

Encapsulado

Antes
Captura de pantalla que muestra la imagen antes del efecto para un ajuste.
Después
Captura de pantalla que muestra la imagen después de la transformación de un ajuste.
ComPtr<ID2D1Effect> borderEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Border, &borderEffect);

borderEffect->SetInput(0, bitmap);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_X, D2D1_BORDER_EDGE_MODE_MIRROR);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_Y, D2D1_BORDER_EDGE_MODE_MIRROR);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(borderEffect.Get());
m_d2dContext->EndDraw(); 

Propiedades de efecto

Enumeración de índice y nombre para mostrar Descripción
Modo perimetral X
D2D1_BORDER_PROP_EDGE_MODE_X
Modo de borde en la dirección X del efecto. Puede establecerlo en sujeción, encapsular o reflejar. Consulta Modos perimetrales para obtener más información.
El tipo es D2D1_BORDER_EDGE_MODE.
El valor predeterminado es D2D1_BORDER_EDGE_MODE_CLAMP.
Modo perimetral Y
D2D1_BORDER_PROP_EDGE_MODE_Y
Modo de borde en la dirección Y del efecto. Puede establecerlo en sujeción, encapsular o reflejar. Consulta Modos perimetrales para obtener más información.
El tipo es D2D1_BORDER_EDGE_MODE.
El valor predeterminado es D2D1_BORDER_EDGE_MODE_CLAMP.

Modos perimetrales

Enumeración de índice y nombre para mostrar Descripción
Clamp
D2D1_BORDER_EDGE_MODE_CLAMP
Repite los píxeles de los bordes de la imagen.
Encapsulado
D2D1_BORDER_EDGE_MODE_WRAP
Usa píxeles desde el borde opuesto de la imagen.
Reflejo
D2D1_BORDER_EDGE_MODE_MIRROR
Refleja píxeles sobre el borde de la imagen.

Mapa de bits de salida

El tamaño del mapa de bits de salida es infinito para todas las entradas, excepto una imagen de entrada de tamaño 0. Si el alto o el ancho de una imagen de entrada es 0, el tamaño de salida es 0.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows]
Servidor mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows]
Encabezado d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect