Efecto de desenfoque gaussiano
Use el efecto de desenfoque gaussiano para crear un desenfoque basado en la función gaussiana en toda la imagen de entrada.
Puede usar este efecto para crear brillos y colocar sombras y usar el efecto compuesto para aplicar el resultado a la imagen original. Es útil en el procesamiento de fotos para filtros como resaltados y sombras. Puede usar la salida de este efecto para la entrada en efectos de iluminación, como los efectos de iluminación especular o iluminación difusa , ya que el canal alfa es borroso, también y los efectos de iluminación usan el canal alfa para determinar la geometría de la superficie como un mapa de altura.
Este efecto lo usa el efecto Shadow integrado.
El CLSID de este efecto es CLSID_D2D1GaussianBlur.
- 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> gaussianBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);
gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gaussianBlurEffect.Get());
m_d2dContext->EndDraw();
Propiedades de efecto
Enumeración de índice y nombre para mostrar | Descripción |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_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 por 3. Las unidades de la desviación estándar y el radio de desenfoque son DIP. Un valor de cero DIP deshabilita este efecto por completo. El tipo es FLOAT. El valor predeterminado es 3.0f. |
Optimization D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Modo de optimización. Consulta Modos de optimización para obtener más información. El tipo es D2D1_GAUSSIANBLUR_OPTIMIZATION. El valor predeterminado es D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
Modo utilizado para calcular el borde de la imagen, suave o duro. Consulta Modos de borde para obtener más información. El tipo es D2D1_GAUSSIANBLUR_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 los 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 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
La salida de este efecto puede ser mayor que el mapa de bits de entrada en función del radio de desenfoque 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. Esta tabla proporciona una ecuación que puede usar para calcular el mapa de bits de salida.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Por lo tanto, si el tamaño de la imagen aumenta en 10 píxeles en cada dirección, la esquina superior izquierda de la imagen se ubicará en (-5, -5) mientras que la parte inferior derecha estará en (105, 105).
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 |