Sdílet prostřednictvím


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.

příklad obrázku znázorňující 2 zaoblené obdélníky stejné velikosti, které se překrývají pomocí zdroje v režimu.

Tady je další příklad použití výchozího režimu.

Před obrázkem 1
první zdrojový obrázek před efektem.
Před obrázkem 2
druhý obrázek před efektem.
Po
obrázek po transformaci.
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.

příkladu každého režimu s neprůhledností nastavenou na 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

ID2D1Effect