Sammansatt effekt
Använd den sammansatta effekten för att kombinera 2 eller fler bilder. Den här effekten har 13 olika sammansatta lägen. T
Den sammansatta effekten accepterar 2 eller fler indata. När du anger 2 bilder är målet den första indatan (index 0) och källan är den andra indatan (index 1). Om du anger fler än 2 indata är bilderna sammansatta från och med den första inmatningen och den andra och så vidare.
Den här effekten implementerar alla lägen med hjälp av blandningsenheten i grafikprocessorn (GPU).
CLSID för den här effekten är CLSID_D2D1Composite.
- Exempelbild
- egenskaper för effekt
- lägestyper
- Exempelkod
- Krav
- Relaterade ämnen
Exempelbild
Bilden här visar 2 rundade rektanglar av samma storlek som överlappar varandra. Den blå rektangeln är källan och den röda rektangeln är målet. Bilderna har sammansatts med läget Källa över.
Här är ett annat exempel med standardläget.
Före bild 1 |
---|
![]() |
Före bild 2 |
![]() |
Efter |
![]() |
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();
Effektegenskaper
Visningsnamn och indexuppräkning | Typ- och standardvärde | Beskrivning |
---|---|---|
Läge D2D1_COMPOSITE_PROP_MODE |
D2D1_COMPOSITE_MODE D2D1_COMPOSITE_MODE_SOURCE_OVER |
Det läge som används för effekten. |
Lägestyper
Tabellen här visar lägena för den här effekten. De ekvationer som anges i tabellen använder följande element:
- O = utdata
- S = Källa
- SA = Source Alpha
- D = Mål
- DA = Mål alfa
Uppräkning | Ekvation | Storlek på utdatabitmapp |
---|---|---|
D2D1_COMPOSITE_MODE_SOURCE_OVER | O = S + (1 SA) * D | Union av käll- och målbitmappar |
D2D1_COMPOSITE_MODE_DESTINATION_OVER | O = (1 DA) * S + D | Union av käll- och målbitmappar |
D2D1_COMPOSITE_MODE_SOURCE_IN | O = DA * S | Skärningspunkt för käll- och målbitmappar |
D2D1_COMPOSITE_MODE_DESTINATION_IN | O = SA * D | Skärningspunkt för käll- och målbitmappar |
D2D1_COMPOSITE_MODE_SOURCE_OUT | O = (1 - DA) * S | Region för källbitmappen |
D2D1_COMPOSITE_MODE_DESTINATION_OUT | O = (1 - SA) * D | Region för målbitmappen |
D2D1_COMPOSITE_MODE_SOURCE_ATOP | O = DA * S + (1 - SA) * D | Region för målbitmappen |
D2D1_COMPOSITE_MODE_DESTINATION_ATOP | O = (1 - DA) * S + SA * D | Region för källbitmappen |
D2D1_COMPOSITE_MODE_XOR | O = (1 - DA) * S + (1 - SA) * D | Union av käll- och målbitmappar |
D2D1_COMPOSITE_MODE_PLUS | O = S + D | Union av käll- och målbitmappar |
D2D1_COMPOSITE_MODE_SOURCE_COPY | O = S | Region för källbitmappen |
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY | O = S (endast där källan finns) | Union av käll- och målbitmappar. Målet skrivs inte över där källan inte finns. |
D2D1_COMPOSITE_MODE_MASK_INVERT | O = (1 D) * S + (1 SA) * D | Union av käll- och målbitmappar. Alfavärdena är oförändrade. |
Bilden här visar ett exempel på var och en av lägena med bilder som har en opacitet på 1,0 eller 0,5.
Exempelkod
Om du vill ha ett exempel på den här effekten laddar du ned exempel på Direct2D-sammansatta effektlägen.
Krav
Krav | Värde |
---|---|
Lägsta klient som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Lägsta server som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Rubrik | d2d1effects.h |
Bibliotek | d2d1.lib, dxguid.lib |