Ljushetseffekt
Använd ljusstyrkan för att styra bildens ljusstyrka.
CLSID för den här effekten är CLSID_D2D1Brightness.
- Exempelbild
- egenskaper för effekt
- bitmapp för utdata
- Krav
- Relaterade ämnen
Exempelbild
Före |
---|
![]() |
Efter |
![]() |
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();
Effektegenskaper
Visningsnamn för egenskap | Typ- och standardvärde | Beskrivning |
---|---|---|
WhitePoint D2D1_BRIGHTNESS_PROP_WHITE_POINT |
D2D1_VECTOR_2F {1.0f, 1.0f} |
Den övre delen av ljusstyrkans överföringskurva. Den vita punkten justerar utseendet på de ljusare delarna av bilden. Den här egenskapen är för både x-värdet och y-värdet i den ordningen. Vart och ett av värdena för den här egenskapen är mellan 0 och 1, inklusive. |
BlackPoint D2D1_BRIGHTNESS_PROP_BLACK_POINT |
D2D1_VECTOR_2F {0.0f, 0.0f} |
Den nedre delen av ljusstyrkans överföringskurva. Den svarta punkten justerar utseendet på de mörkare delarna av bilden. Den här egenskapen är för både x-värdet och y-värdet i den ordningen. Vart och ett av värdena för den här egenskapen är mellan 0 och 1, inklusive. |
Den här effekten använder de angivna vita och svarta punkterna för att generera en överföringsfunktion som används för att justera bitmappen. Nästa ekvation beskriver överföringsfunktionen. Indataintensiteterna definieras mellan 0 och 1.
Effektalgoritmen implementerar en ekvation som skapar överföringsfunktionen. Vi använder den här funktionen för att justera bildpunkterna. X- och y-värdena för den svarta punkten och den vita punkten är koordinaterna i två dimensioner som är anslutna för att bilda transformen. Varje del av den slutliga utdataekvationen:
Konverterar bilddata från linjärt utrymme till icke-linjärt utrymme med hjälp av den här ekvationen:
Justerar bilden enligt följande värden:
indata är bildpunktsintensitetsvärdena för indata från 0 till 1.
*Vit pt. (x, y)*platsen för transformeringskurvan för ljusare pixelintensiteter.
Svart pt. (x, y) är platsen för transformeringskurvan för dimmerpunktsintensiteter.
Konverterar bilddata tillbaka till linjärt utrymme med hjälp av den här ekvationen:
Den slutliga utdataekvationen och komponentdelarna visas här.
Utdatabitmapp
Bitmappsstorleken för utdata är samma som bitmappsstorleken för indata.
Krav
Krav | Värde |
---|---|
Lägsta klient som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Lägsta server som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Rubrik | d2d1effects.h |
Bibliotek | d2d1.lib, dxguid.lib |