Helderheidseffect
Gebruik het helderheidseffect om de helderheid van de afbeelding te bepalen.
De CLSID voor dit effect is CLSID_D2D1Brightness.
- voorbeeldafbeelding
- eigenschappen van effect
- uitvoer bitmap
- vereisten
- Verwante onderwerpen
Voorbeeldafbeelding
Voor |
---|
![]() |
Na |
![]() |
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();
Effecteigenschappen
Weergavenaam van eigenschap | Type en standaardwaarde | Beschrijving |
---|---|---|
WhitePoint D2D1_BRIGHTNESS_PROP_WHITE_POINT |
D2D1_VECTOR_2F {1.0f, 1.0f} |
Het bovenste gedeelte van de curve van de helderheidsoverdracht. Met het witte punt wordt het uiterlijk van de helderdere delen van de afbeelding aangepast. Deze eigenschap is voor zowel de x-waarde als de y-waarde, in die volgorde. Elk van de waarden van deze eigenschap ligt tussen 0 en 1, inclusief. |
BlackPoint D2D1_BRIGHTNESS_PROP_BLACK_POINT |
D2D1_VECTOR_2F {0.0f, 0.0f} |
Het onderste deel van de curve voor de helderheidsoverdracht. Met het zwarte punt wordt het uiterlijk van de donkerdere gedeelten van de afbeelding aangepast. Deze eigenschap is voor zowel de x-waarde als de y-waarde, in die volgorde. Elk van de waarden van deze eigenschap ligt tussen 0 en 1, inclusief. |
Dit effect gebruikt de opgegeven witte en zwarte punten om een overdrachtsfunctie te genereren die wordt gebruikt om de bitmap aan te passen. In de volgende vergelijking wordt de overdrachtsfunctie beschreven. De invoerintensiviteiten worden tussen 0 en 1 gedefinieerd.
Het effectalgoritmen implementeren een vergelijking waarmee de overdrachtsfunctie wordt gemaakt. We gebruiken deze functie om de beeld pixels aan te passen. De x- en y-waarden van het zwarte punt en het witte punt zijn de coördinaten in twee dimensies die zijn verbonden met de transformatie. Elk deel van de uiteindelijke uitvoervergelijking:
Converteert de afbeeldingsgegevens van lineaire ruimte naar niet-lineaire ruimte met behulp van deze vergelijking:
Hiermee past u de afbeelding aan op basis van deze waarden:
invoer zijn de waarden voor de pixelintensiteit van de invoerafbeelding van 0 tot 1.
*Witte pt. (x, y)*de locatie van de transformatiecurve voor helderdere pixelintensiteiten.
Zwarte pt. (x, y) is de locatie van de transformatiecurve voor dimmer pixelintensiteiten.
Converteert de afbeeldingsgegevens terug naar lineaire ruimte met behulp van deze vergelijking:
De uiteindelijke uitvoervergelijking en de onderdelen worden hier weergegeven.
Uitvoer bitmap
De grootte van de uitvoer bitmap is hetzelfde als de grootte van de invoer bitmap.
Eisen
Eis | Waarde |
---|---|
Minimaal ondersteunde client | Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps] |
Minimaal ondersteunde server | Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps] |
Rubriek | d2d1effects.h |
Bibliotheek | d2d1.lib, dxguid.lib |