Udostępnij za pośrednictwem


Efekt jasności

Użyj efektu jasności, aby kontrolować jasność obrazu.

Identyfikator CLSID dla tego efektu jest CLSID_D2D1Brightness.

Przykładowy obraz

Przed
obraz przed efektem.
Po
obraz po przekształceniu.
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();

Właściwości efektu

Nazwa wyświetlana właściwości Typ i wartość domyślna Opis
Biały punkt
D2D1_BRIGHTNESS_PROP_WHITE_POINT
D2D1_VECTOR_2F
{1.0f, 1.0f}
Górna część krzywej transferu jasności. Biały punkt dostosowuje wygląd jaśniejszych części obrazu. Ta właściwość dotyczy zarówno wartości x, jak i wartości y w tej kolejności. Każda z wartości tej właściwości ma od 0 do 1 włącznie.
BlackPoint
D2D1_BRIGHTNESS_PROP_BLACK_POINT
D2D1_VECTOR_2F
{0.0f, 0.0f}
Dolna część krzywej transferu jasności. punkt dostosowuje wygląd ciemniejszych części obrazu. Ta właściwość dotyczy zarówno wartości x, jak i wartości y w tej kolejności. Każda z wartości tej właściwości ma od 0 do 1 włącznie.

Ten efekt używa określonych białych i czarnych punktów do wygenerowania funkcji transferu używanej do dostosowywania mapy bitowej. W następnym równaniu opisano funkcję transferu. Przyrosty wejściowe są definiowane z zakresu od 0 do 1.

algorytm jasności

Algorytm efektu implementuje równanie, które tworzy funkcję transferu. Ta funkcja służy do dostosowywania pikseli obrazu. Wartości x i y czarnego punktu i białego punktu są współrzędnymi w dwóch wymiarach połączonych z przekształceniem. Każda część końcowego równania wyjściowego:

  1. Konwertuje dane obrazu z przestrzeni liniowej na przestrzeń nieliniową przy użyciu tego równania:funkcja pomocnika 1

  2. Dostosowuje obraz zgodnie z następującymi wartościami:

    • wejściowe to wejściowe wartości intensywności pikseli obrazu z zakresu od 0 do 1.

    • *Biały pt. (x, y)*lokalizacja krzywej transformacji w celu uzyskania jaśniejszych rozszerzeń pikseli.

    • Pt. (x, y) jest lokalizacją krzywej transformacji dla ściemniania intensycjności pikseli.

  3. Konwertuje dane obrazu z powrotem na przestrzeń liniową przy użyciu tego równania: funkcja pomocnika 2

Końcowe równanie wyjściowe i części składowe są pokazane tutaj.

pełne obliczenia dotyczące regulacji jasności

Mapa bitowa wyjściowa

Rozmiar mapy bitowej danych wyjściowych jest taki sam jak rozmiar mapy bitowej wejściowej.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows]
Minimalny obsługiwany serwer Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows]
Nagłówek d2d1effects.h
Biblioteka d2d1.lib, dxguid.lib

ID2D1Effect