Fényerő effektus
A fényerő effektus használatával szabályozhatja a kép fényerejét.
Az effektus CLSID azonosítója CLSID_D2D1Brightness.
Példakép
Előtt |
---|
![]() |
Után |
![]() |
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();
Effektus tulajdonságai
Tulajdonság megjelenítendő neve | Típus és alapértelmezett érték | Leírás |
---|---|---|
WhitePoint D2D1_BRIGHTNESS_PROP_WHITE_POINT |
D2D1_VECTOR_2F {1.0f, 1.0f} |
A fényerőátviteli görbe felső része. A fehér pont a kép világosabb részeinek megjelenését állítja be. Ez a tulajdonság az x és az y értékre is igaz ebben a sorrendben. A tulajdonság minden értéke 0 és 1 között van, beleértve az értékeket is. |
BlackPoint D2D1_BRIGHTNESS_PROP_BLACK_POINT |
D2D1_VECTOR_2F {0.0f, 0.0f} |
A fényerőátviteli görbe alsó része. A fekete pont a kép sötétebb részeinek megjelenését állítja be. Ez a tulajdonság az x és az y értékre is igaz ebben a sorrendben. A tulajdonság minden értéke 0 és 1 között van, beleértve az értékeket is. |
Ez az effektus a megadott fehér és fekete pontokat használja a bitkép módosításához használt átviteli függvény létrehozásához. A következő egyenlet az átviteli függvényt írja le. A bemeneti intenzitások 0 és 1 között vannak meghatározva.
Az effektus-algoritmus implementál egy egyenletet, amely létrehozza az átviteli függvényt. Ezt a függvényt használjuk a kép képpontjainak módosításához. A fekete pont és a fehér pont x és y értékei az átalakításhoz csatlakozó két dimenzió koordinátái. A végső kimeneti egyenlet minden része:
A képadatokat lineáris térből nem lineáris térzé alakítja a következő egyenlettel:
A rendszerképet az alábbi értékek szerint állítja be:
bemeneti a bemeneti kép képpontintenzitási értékei 0 és 1 között.
*Fehér Pt. (x, y)*az átalakító görbe helye a világosabb képpontintenzitás érdekében.
Fekete pt. (x, y) a képpontintenzitások intenzitásának átalakítási görbéjének helye.
Ezzel az egyenlettel konvertálja vissza a képadatokat lineáris térbe:
A végső kimeneti egyenlet és az összetevők itt láthatók.
Kimeneti bitkép
A kimeneti bitkép mérete megegyezik a bemeneti bitkép méretével.
Követelmények
Követelmény | Érték |
---|---|
Minimálisan támogatott ügyfél | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
Minimálisan támogatott kiszolgáló | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
Fejléc | d2d1effects.h |
Könyvtár | d2d1.lib, dxguid.lib |