Efecto de desenfoque direccional
El efecto de desenfoque direccional es similar al desenfoque gaussiano, excepto que se puede sesgar el desenfoque en una dirección determinada. Puedes usar este efecto para hacer que una imagen se vea como si estuviera en movimiento o para resaltar una imagen animada.
El CLSID de este efecto es CLSID_D2D1DirectionalBlur.
- Imagen de ejemplo
- Propiedades de efecto
- Modos de optimización
- Modos de borde
- Mapa de bits de salida
- Requisitos
- Temas relacionados
Imagen de ejemplo
Antes |
---|
Después |
ComPtr<ID2D1Effect> directionalBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1DirectionalBlur, &directionalBlurEffect);
directionalBlurEffect->SetInput(0, bitmap);
directionalBlurEffect->SetValue(D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION, 7.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(directionalBlurEffect.Get());
m_d2dContext->EndDraw();
Propiedades de efecto
Enumeración de nombre para mostrar e índice | Descripción |
---|---|
StandardDeviation D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION |
Cantidad de desenfoque que se va a aplicar a la imagen. Puede calcular el radio de desenfoque del kernel multiplicando la desviación estándar en 3. Las unidades de la desviación estándar y el radio de desenfoque son DIP. Un valor de 0 DIP deshabilita este efecto. El tipo es FLOAT. El valor predeterminado es 3.0f. |
Ángulo D2D1_DIRECTIONALBLUR_PROP_ANGLE |
Ángulo del desenfoque relativo al eje X, en la dirección en sentido contrario a las agujas del reloj. Las unidades se especifican en grados. El kernel de desenfoque se genera primero con el mismo proceso que para el efecto de desenfoque gaussiano . A continuación, los valores del kernel se transforman según el ángulo de desenfoque. El tipo es FLOAT. El valor predeterminado es 0,0f. |
Optimization D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION |
Modo de optimización. Consulta Modos de optimización para obtener más información. El tipo es D2D1_DIRECTIONALBLUR_OPTIMIZATION. El valor predeterminado es D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE |
Modo utilizado para calcular el borde de la imagen, suave o dura. Consulta Modos de borde para obtener más información. El tipo es D2D1_BORDER_MODE. El valor predeterminado es D2D1_BORDER_MODE_SOFT. |
Modos de optimización
Nombre | Descripción |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Aplica optimizaciones internas, como el escalado previo a radios relativamente pequeños. Usa el filtrado lineal. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Usa los mismos umbrales de optimización que el modo Velocidad, pero usa el filtrado trilineal. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Solo usa optimizaciones internas con grandes radios de desenfoque, donde es menos probable que las aproximaciones sean visibles. Usa el filtrado trilineal. |
Modos de borde
Nombre | Descripción |
---|---|
D2D1_BORDER_MODE_SOFT | El efecto rellena la imagen con píxeles negros transparentes, ya que aplica el kernel de desenfoque, lo que da lugar a un borde suave. |
D2D1_BORDER_MODE_HARD | El efecto sujeta la salida al tamaño de la imagen de entrada. Cuando el efecto aplica el kernel de desenfoque, extiende la imagen de entrada con una transformación de borde de tipo reflejado para muestras fuera de los límites de entrada. |
Mapa de bits de salida
El tamaño del mapa de bits de salida aumenta en función de la desviación estándar, el ángulo del efecto y el modo de borde. Si el modo de borde se establece en D2D1_BORDER_MODE_SOFT el tamaño del mapa de bits de salida aumenta por el tamaño del kernel de desenfoque, representado en píxeles. Estas ecuaciones se pueden usar para calcular el tamaño del mapa de bits de salida.
Requisito | Value |
---|---|
Crecimiento del mapa de bits de salida X | StandardDeviation (DIPs) * 6 * ((User PPP) / 96) * cos(Angle)) |
Crecimiento del mapa de bits de salida Y | StandardDeviation (DIPs) * 6 * ((User PPP) / 96) * sin(Angle)) |
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 |