Compartir a través de


Efecto de brillo

Utilice el efecto de brillo para controlar el brillo de la imagen.

El CLSID de este efecto es CLSID_D2D1Brightness.

Imagen de ejemplo

Antes
la imagen antes del efecto.
Después
la imagen después de la transformación.
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 que se usa para ajustar el mapa de bits. La siguiente ecuación describe la función de transferencia. Las densidades de entrada se definen 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 que están conectadas para formar la transformación. Cada parte de la ecuación de salida final:

  1. Convierte los datos de imagen del espacio lineal en un espacio no lineal mediante esta ecuación:función auxiliar 1

  2. Ajusta la imagen según estos valores:

    • de entrada es el valor 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 densidades de píxeles dimmer.

  3. Convierte los datos de imagen en un espacio lineal mediante esta ecuación: función auxiliar 2

La ecuación de salida final y las partes del componente se muestran aquí.

los cálculos completos para ajustar el brillo

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 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

ID2D1Effect