Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A lineáris átviteli effektussal egy kép színintenzitását képezheti le az egyes csatornákhoz megadott értékek listájából létrehozott lineáris függvény használatával.
Az effektus CLSID azonosítója CLSID_D2D1LinearTransfer.
Példakép
| Előtt |
|---|
|
| Után |
|
ComPtr<ID2D1Effect> linearTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LinearTransfer, &linearTransferEffect);
linearTransferEffect->SetInput(0, bitmap);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_SLOPE, 2.5f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE, 5.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(linearTransferEffect.Get());
m_d2dContext->EndDraw();
A lineáris átviteli függvény a megadott csatornák meredeksége és y-metszete alapján jön létre. A C kimeneti képpont intenzitását a következő egyenlettel számítjuk ki: C' = mC + B, ahol m a lineáris függvény meredeksége, B pedig a lineáris függvény Y-metszete.
Ez a hatás egyenes és előre meghatározott alfaképeken működik. Az effektus előre meghatározott alfa bitképeket ad ki.
Effektus tulajdonságai
Jegyzet
A lineáris átviteli tulajdonságok összes csatornája esetében:
- Az Y-metszéspont nincs határban, és egység nélküli.
- A meredekség nem határolt, és egység nélküli.
| Név és index számbavételének megjelenítése | Típus és alapértelmezett érték | Leírás |
|---|---|---|
| RedYIntercept D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT |
LEBEG 0,0f |
A vörös csatorna lineáris függvényének Y-metszete. |
| RedSlope D2D1_LINEARTRANSFER_PROP_RED_SLOPE |
LEBEG 1.0f |
A vörös csatorna lineáris függvényének meredeksége. |
| RedDisable D2D1_LINEARTRANSFER_PROP_RED_DISABLE |
BOOL TÉVES |
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt a Vörös csatornára. Ha HAMIS értékre állítja, az effektus a RedLinearTransfer függvényt alkalmazza a Vörös csatornára. |
| GreenYIntercept D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT |
LEBEG 0,0f |
A zöld csatorna lineáris függvényének Y-metszete. |
| GreenSlope D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE |
LEBEG 1.0f |
A zöld csatorna lineáris függvényének meredeksége. |
| GreenDisable D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE |
BOOL TÉVES |
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt a Zöld csatornára. Ha hamis értékre állítja, a GreenLinearTransfer függvényt alkalmazza a Zöld csatornára. |
| BlueYIntercept D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT |
LEBEG 0,0f |
A Kék csatorna lineáris függvényének Y-metszete. |
| BlueSlope D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE |
LEBEG 1.0f |
A kék csatorna lineáris függvényének meredeksége. |
| BlueDisable D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE |
BOOL TÉVES |
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt a Kék csatornára. Ha HAMIS értékre állítja, a BlueLinearTransfer függvényt alkalmazza a Kék csatornára. |
| AlphaYIntercept D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT |
LEBEG 0,0f |
Az Alfa-csatorna lineáris függvényének Y-metszete. |
| AlphaSlope D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE |
LEBEG 0,0f |
Az Alfa-csatorna lineáris függvényének meredeksége. |
| AlphaDisable D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE |
BOOL TÉVES |
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt az Alfa csatornára. Ha ezt HAMIS értékre állítja, akkor az Alfa csatornára alkalmazza az AlphaLinearTransfer függvényt. |
| ClampOutput D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT |
BOOL TÉVES |
Azt jelzi, hogy az effektus 0 és 1 közé szorítja-e a színértékeket, mielőtt az effektus átadja az értékeket a gráf következő hatásának. Az effektus befogja az értékeket, mielőtt premultiplies az alfa . Ha igaz értékre állítja, az effektus az értékeket fogja szorítani. Ha HAMIS értékre állítja ezt be, az effektus nem fogja be a színértékeket, de más effektusok és a kimeneti felület is rögzítheti az értékeket, ha nem elég nagy pontosságúak. |
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 |