Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí lineárního přenosového efektu můžete mapovat intenzity barev obrázku pomocí lineární funkce vytvořené ze seznamu hodnot, které zadáte pro každý kanál.
CLSID pro tento efekt je CLSID_D2D1LinearTransfer.
Příklad obrázku
| Před |
|---|
|
| Po |
|
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();
Funkce lineárního přenosu se vytvoří na základě sklonu a průsečíku y pro každý zadaný kanál. Intenzita výstupních pixelů C se vypočítá rovnicí: C' = mC + B, kde m je sklon lineární funkce a B je průsečík Y lineární funkce.
Tento efekt funguje na rovných a předsledovaných alfa obrázcích. Efekt vypíše předem nastavené alfa rastrové obrázky.
Vlastnosti efektu
Poznámka
Pro všechny kanály vlastností lineárního přenosu:
- Průsečík Y není ohraničený a je bez jednotný.
- Sklon není ohraničený a je bez jednotkové.
| Zobrazovaný název a výčet indexu | Typ a výchozí hodnota | Popis |
|---|---|---|
| RedYIntercept D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT |
PLOUT 0.0f |
Průsečík Y lineární funkce pro červený kanál. |
| RedSlope D2D1_LINEARTRANSFER_PROP_RED_SLOPE |
PLOUT 1.0f |
Sklon lineární funkce pro červený kanál. |
| RedDisable D2D1_LINEARTRANSFER_PROP_RED_DISABLE |
BOOL FALEŠNÝ |
Pokud nastavíte hodnotu TRUE, efekt nepoužije funkci přenosu na červený kanál. Pokud nastavíte hodnotu NEPRAVDA, efekt použije funkci RedLinearTransfer na kanál Red. |
| GreenyIntercept D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT |
PLOUT 0.0f |
Průsečík Y lineární funkce pro zelený kanál. |
| GreenSlope D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE |
PLOUT 1.0f |
Sklon lineární funkce pro zelený kanál. |
| GreenDisable D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE |
BOOL FALEŠNÝ |
Pokud nastavíte hodnotu PRAVDA, efekt nepoužije funkci přenosu na zelený kanál. Pokud nastavíte hodnotu FALSE, použije funkce GreenLinearTransfer na zelený kanál. |
| BlueYIntercept D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT |
PLOUT 0.0f |
Průsečík Y lineární funkce pro modrý kanál. |
| BlueSlope D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE |
PLOUT 1.0f |
Sklon lineární funkce pro modrý kanál. |
| BlueDisable D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE |
BOOL FALEŠNÝ |
Pokud nastavíte hodnotu TRUE, efekt nepoužije funkci přenosu na modrý kanál. Pokud nastavíte hodnotu FALSE, použije funkce BlueLinearTransfer na modrý kanál. |
| AlphayIntercept D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT |
PLOUT 0.0f |
Průsečík Y lineární funkce pro alfa kanál. |
| AlfaSlope D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE |
PLOUT 0.0f |
Sklon lineární funkce pro alfa kanál. |
| AlphaDisable D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE |
BOOL FALEŠNÝ |
Pokud nastavíte hodnotu PRAVDA, efekt nepoužije funkci přenosu na kanál Alpha. Pokud nastavíte hodnotu FALSE, použije funkce AlphaLinearTransfer na kanál Alpha. |
| ClampOutput D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT |
BOOL FALEŠNÝ |
Určuje, zda efekt upne hodnoty barev mezi 0 a 1 před tím, než efekt předá hodnoty dalšímu efektu v grafu. Efekt uchytí hodnoty před tím, než premultipluje alfa . Pokud nastavíte hodnotu TRUE, efekt uchytne hodnoty. Pokud nastavíte hodnotu NEPRAVDA, efekt neuchytne hodnoty barev, ale jiné efekty a výstupní povrch mohou upnout hodnoty, pokud nejsou dostatečně vysoké přesnosti. |
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 |