Sdílet prostřednictvím


Efekt jasu

Pomocí efektu jasu můžete řídit jas obrázku.

CLSID pro tento efekt je CLSID_D2D1Brightness.

Příklad obrázku

Před
obrázek před efektem.
Po
obrázek po transformaci.
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();

Vlastnosti efektu

Zobrazovaný název vlastnosti Typ a výchozí hodnota Popis
WhitePoint
D2D1_BRIGHTNESS_PROP_WHITE_POINT
D2D1_VECTOR_2F
{1.0f, 1.0f}
Horní část křivky přenosu jasu. Bílý bod upraví vzhled jasnějších částí obrázku. Tato vlastnost je určena pro hodnotu x i hodnotu y v tomto pořadí. Každá z hodnot této vlastnosti je v rozmezí od 0 do 1 (včetně).
BlackPoint
D2D1_BRIGHTNESS_PROP_BLACK_POINT
D2D1_VECTOR_2F
{0.0f, 0.0f}
Dolní část křivky přenosu jasu. Černý bod upraví vzhled tmavších částí obrázku. Tato vlastnost je určena pro hodnotu x i hodnotu y v tomto pořadí. Každá z hodnot této vlastnosti je v rozmezí od 0 do 1 (včetně).

Tento efekt používá zadané bílé a černé body k vygenerování funkce přenosu použité k úpravě rastrového obrázku. Další rovnice popisuje funkci přenosu. Intenzity vstupu jsou definovány mezi 0 a 1.

Algoritmus efektu implementuje rovnici, která vytvoří funkci přenosu. Tuto funkci používáme k úpravě obrazových pixelů. Hodnoty x a y černého bodu a bílého bodu jsou souřadnice ve dvou dimenzích, které jsou spojené s transformací. Každá část konečné výstupní rovnice:

  1. Převede data obrázku z lineárního prostoru na nelineární prostor pomocí této rovnice:pomocná funkce 1

  2. Upraví obrázek podle těchto hodnot:

    • vstupní je hodnota intenzity vstupního obrázku v pixelech od 0 do 1.

    • *Bílý pt. (x, y)*umístění transformační křivky pro světlejší intenzitu pixelů.

    • Černý pt. (x, y) je umístění transformační křivky pro intenzity střižných pixelů.

  3. Převede data obrázku zpět na lineární prostor pomocí této rovnice: pomocná funkce 2

Tady je znázorněna konečná výstupní rovnice a součásti.

kompletní výpočty úprav jasu

Výstupní rastrový obrázek

Velikost výstupního rastrového obrázku je stejná jako velikost vstupního rastrového obrázku.

Požadavky

Požadavek Hodnota
Minimální podporovaný klient Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store]
Minimální podporovaný server Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store]
Záhlaví d2d1effects.h
Knihovna d2d1.lib, dxguid.lib

ID2D1Effect