Efecto de brillo
Use el efecto de brillo para controlar el brillo de la imagen.
El CLSID de este efecto es CLSID_D2D1Brightness.
Imagen de ejemplo
Antes |
---|
Después |
ComPtr<ID2D1Effect> brightnessEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Brightness, &brightnessEffect);
brightnessEffect->SetValue(D2D1_BRIGHTNESS_PROP_BLACK_POINT, D2D1::Vector2F(0.0f, 0.2f));
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(brightnessEffect.Get());
m_d2dContext->EndDraw();
Propiedades de efecto
Nombre para mostrar de la propiedad | Tipo y valor predeterminado | Descripción |
---|---|---|
WhitePoint D2D1_BRIGHTNESS_PROP_WHITE_POINT |
D2D1_VECTOR_2F {1.0f, 1.0f} |
Parte superior de la curva de transferencia de brillo. El punto blanco ajusta la apariencia de las partes más brillantes de la imagen. Esta propiedad es para el valor x y el valor y, en ese orden. Cada uno de los valores de esta propiedad está comprendido entre 0 y 1, ambos incluidos. |
BlackPoint D2D1_BRIGHTNESS_PROP_BLACK_POINT |
D2D1_VECTOR_2F {0.0f, 0.0f} |
Parte inferior de la curva de transferencia de brillo. El punto negro ajusta la apariencia de las partes más oscuras de la imagen. Esta propiedad es para el valor x y el valor y, en ese orden. Cada uno de los valores de esta propiedad está comprendido entre 0 y 1, ambos incluidos. |
Este efecto usa los puntos blanco y negro especificados para generar una función de transferencia utilizada para ajustar el mapa de bits. La siguiente ecuación describe la función de transferencia. La densidad de entrada se define entre 0 y 1.
El algoritmo de efecto implementa una ecuación que crea la función de transferencia. Usamos esta función para ajustar los píxeles de la imagen. Los valores x e y del punto negro y el punto blanco son las coordenadas en dos dimensiones conectadas para formar la transformación. Cada parte de la ecuación de salida final:
Convierte los datos de imagen del espacio lineal en un espacio no lineal mediante esta ecuación:
Ajusta la imagen según estos valores:
input es los valores de intensidad de píxeles de imagen de entrada de 0 a 1.
*Blanco Pt. (x, y)*la ubicación de la curva de transformación para las densidades de píxeles más brillantes.
Pt negro. (x, y) es la ubicación de la curva de transformación para las intensidades de píxeles dimmer.
Convierte los datos de imagen de nuevo en espacio lineal mediante esta ecuación:
Aquí se muestran la ecuación de salida final y las partes del componente.
Mapa de bits de salida
El tamaño del mapa de bits de salida es el mismo que el tamaño del mapa de bits de entrada.
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 |