Efecto de desenfoque direccional
El efecto de desenfoque direccional es similar a desenfoque gaussiano, excepto que puede sesgar el desenfoque en una dirección determinada. Puede usar este efecto para hacer que una imagen parezca como si estuviera en movimiento o para resaltar una imagen animada.
El CLSID de este efecto es CLSID_D2D1DirectionalBlur.
- imagen de ejemplo
- propiedades Effect
- modos de optimización de
- modos de borde
- de mapa de bits de salida
- requisitos de
- 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 índice y nombre para mostrar | 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 por primera vez 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. |
Optimización 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 que se usa 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 radios de desenfoque grandes, 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 como resultado un borde suave. |
D2D1_BORDER_MODE_HARD | El efecto fija 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 según 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 | Valor |
---|---|
Crecimiento de 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 | 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 |