Složený efekt
Složený efekt slouží ke kombinování 2 nebo více obrázků. Tento efekt má 13 různých složených režimů. T
Složený efekt přijímá 2 nebo více vstupů. Při zadávání 2 obrázků je cílem první vstup (index 0) a zdrojem je druhý vstup (index 1). Pokud zadáte více než 2 vstupy, obrázky se skládají od prvního vstupu a druhého a tak dále.
Tento efekt implementuje všechny režimy pomocí mixovací jednotky grafického procesoru (GPU).
CLSID pro tento efekt je CLSID_D2D1Composite.
Příklad obrázku
Obrázek zde ukazuje 2 zaoblené obdélníky se stejnou velikostí, která se překrývají. Modrý obdélník je zdroj a červený obdélník je cílem. Obrázky byly složené s režimem Zdroj přes.
Tady je další příklad použití výchozího režimu.
Před obrázkem 1 |
---|
![]() |
Před obrázkem 2 |
![]() |
Po |
![]() |
ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);
compositeEffect->SetInput(0, bitmap);
compositeEffect->SetInput(1, bitmapTwo);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(compositeEffect.Get());
m_d2dContext->EndDraw();
Vlastnosti efektu
Zobrazovaný název a výčet indexu | Typ a výchozí hodnota | Popis |
---|---|---|
Režim D2D1_COMPOSITE_PROP_MODE |
D2D1_COMPOSITE_MODE D2D1_COMPOSITE_MODE_SOURCE_OVER |
Režim použitý pro efekt. |
Typy režimu
V této tabulce jsou uvedeny režimy tohoto efektu. Rovnice uvedené v tabulce používají tyto prvky:
- O = Výstup
- S = Zdroj
- SA = zdroj alfa
- D = Cíl
- DA = Destination Alpha
Výčet | Rovnice | Velikost výstupního rastrového obrázku |
---|---|---|
D2D1_COMPOSITE_MODE_SOURCE_OVER | O = S + (1 SA) * D | Sjednocení zdrojových a cílových rastrových obrázků |
D2D1_COMPOSITE_MODE_DESTINATION_OVER | O = (1 DA) * S + D | Sjednocení zdrojových a cílových rastrových obrázků |
D2D1_COMPOSITE_MODE_SOURCE_IN | O = DA * S | Průnik zdrojových a cílových rastrových obrázků |
D2D1_COMPOSITE_MODE_DESTINATION_IN | O = SA * D | Průnik zdrojových a cílových rastrových obrázků |
D2D1_COMPOSITE_MODE_SOURCE_OUT | O = (1 – DA) * S | Oblast zdrojového rastrového obrázku |
D2D1_COMPOSITE_MODE_DESTINATION_OUT | O = (1 – SA) * D | Oblast cílového rastrového obrázku |
D2D1_COMPOSITE_MODE_SOURCE_ATOP | O = DA * S + (1 - SA) * D | Oblast cílového rastrového obrázku |
D2D1_COMPOSITE_MODE_DESTINATION_ATOP | O = (1 - DA) * S + SA * D | Oblast zdrojového rastrového obrázku |
D2D1_COMPOSITE_MODE_XOR | O = (1 - DA) * S + (1 - SA) * D | Sjednocení zdrojových a cílových rastrových obrázků |
D2D1_COMPOSITE_MODE_PLUS | O = S + D | Sjednocení zdrojových a cílových rastrových obrázků |
D2D1_COMPOSITE_MODE_SOURCE_COPY | O = S | Oblast zdrojového rastrového obrázku |
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY | O = S (pouze tam, kde existuje zdroj) | Sjednocení zdrojových a cílových rastrových obrázků. Cíl není přepsán, pokud zdroj neexistuje. |
D2D1_COMPOSITE_MODE_MASK_INVERT | O = (1 D) * S + (1 SA) * D | Sjednocení zdrojových a cílových rastrových obrázků. Alfa hodnoty se nezmění. |
Obrázek zde ukazuje příklad jednotlivých režimů s obrázky, které mají neprůhlednost 1,0 nebo 0,5.
Ukázkový kód
Příklad tohoto efektu si stáhněte režimy složeného efektu Direct2D ukázky.
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 |