Efeito de brilho
Use o efeito de brilho para controlar o brilho da imagem.
O CLSID para esse efeito é CLSID_D2D1Brightness.
Imagem de exemplo
Antes |
---|
After (apó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();
Propriedades do efeito
Nome de Exibição da Propriedade | Tipo e valor padrão | Descrição |
---|---|---|
WhitePoint D2D1_BRIGHTNESS_PROP_WHITE_POINT |
D2D1_VECTOR_2F {1.0f, 1.0f} |
A parte superior da curva de transferência de brilho. O ponto branco ajusta a aparência das partes mais brilhantes da imagem. Essa propriedade é para o valor x e o valor y, nessa ordem. Cada um dos valores dessa propriedade está entre 0 e 1, inclusive. |
BlackPoint D2D1_BRIGHTNESS_PROP_BLACK_POINT |
D2D1_VECTOR_2F {0.0f, 0.0f} |
A parte inferior da curva de transferência de brilho. O ponto preto ajusta a aparência das partes mais escuras da imagem. Essa propriedade é para o valor x e o valor y, nessa ordem. Cada um dos valores dessa propriedade está entre 0 e 1, inclusive. |
Esse efeito usa os pontos em branco e preto especificados para gerar uma função de transferência usada para ajustar o bitmap. A próxima equação descreve a função de transferência. As intensidades de entrada são definidas entre 0 e 1.
O algoritmo de efeito implementa uma equação que cria a função de transferência. Usamos essa função para ajustar os pixels de imagem. Os valores x e y do ponto preto e do ponto branco são as coordenadas em duas dimensões que estão conectadas para formar a transformação. Cada parte da equação de saída final:
Converte os dados de imagem de espaço linear em espaço não linear usando esta função equação:
Ajusta a imagem de acordo com estes valores:
input são os valores de intensidade de pixel da imagem de entrada de 0 a 1.
*Pt branco. (x, y)*o local da curva de transformação para intensidades de pixel mais brilhantes.
Pt preto. (x, y) é o local da curva de transformação para intensidades de pixel mais esmaecidas.
Converte os dados de imagem de volta em espaço linear usando esta equação:
A equação de saída final e as partes do componente são mostradas aqui.
Bitmap de saída
O tamanho do bitmap de saída é o mesmo que o tamanho do bitmap de entrada.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store] |
Servidor mínimo com suporte | Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store] |
Cabeçalho | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |