Effetto composito
Usare l'effetto composito per combinare 2 o più immagini. Questo effetto ha 13 diverse modalità composite. T
L'effetto composito accetta 2 o più input. Quando si specificano 2 immagini, la destinazione è il primo input (indice 0) e l'origine è il secondo input (indice 1). Se si specificano più di 2 input, le immagini vengono composte a partire dal primo input e dal secondo e così via.
Questo effetto implementa tutte le modalità usando l'unità di fusione dell'unità di elaborazione grafica (GPU).
Il CLSID per questo effetto è CLSID_D2D1Composite.
- Immagine di esempio
- Proprietà dell'effetto
- Tipi di modalità
- Codice di esempio
- Requisiti
- Argomenti correlati
Immagine di esempio
L'immagine seguente mostra 2 rettangoli arrotondati delle stesse dimensioni sovrapposte. Il rettangolo blu è l'origine e il rettangolo rosso è la destinazione. Le immagini sono state composte con la modalità Source Over.
Ecco un altro esempio usando la modalità predefinita.
Prima dell'immagine 1 |
---|
Prima dell'immagine 2 |
After |
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();
Proprietà dell'effetto
Enumerazione nome visualizzato e indice | Tipo e valore predefinito | Descrizione |
---|---|---|
Mode D2D1_COMPOSITE_PROP_MODE |
D2D1_COMPOSITE_MODE D2D1_COMPOSITE_MODE_SOURCE_OVER |
Modalità usata per l'effetto. |
Tipi di modalità
La tabella seguente mostra le modalità di questo effetto. Le equazioni elencate nella tabella usano questi elementi:
- O = Output
- S = Origine
- SA = Source Alpha
- D = Destinazione
- DA = Destinazione Alfa
Enumerazione | Equazione | Dimensioni bitmap di output |
---|---|---|
D2D1_COMPOSITE_MODE_SOURCE_OVER | O = S + (1 SA) * D | Unione delle bitmap di origine e di destinazione |
D2D1_COMPOSITE_MODE_DESTINATION_OVER | O = (1 DA) * S + D | Unione delle bitmap di origine e di destinazione |
D2D1_COMPOSITE_MODE_SOURCE_IN | O = DA * S | Intersezione delle bitmap di origine e di destinazione |
D2D1_COMPOSITE_MODE_DESTINATION_IN | O = SA * D | Intersezione delle bitmap di origine e di destinazione |
D2D1_COMPOSITE_MODE_SOURCE_OUT | O = (1 - DA) * S | Area della bitmap di origine |
D2D1_COMPOSITE_MODE_DESTINATION_OUT | O = (1 - SA) * D | Area della bitmap di destinazione |
D2D1_COMPOSITE_MODE_SOURCE_ATOP | O = DA * S + (1 - SA) * D | Area della bitmap di destinazione |
D2D1_COMPOSITE_MODE_DESTINATION_ATOP | O = (1 - DA) * S + SA * D | Area della bitmap di origine |
D2D1_COMPOSITE_MODE_XOR | O = (1 - DA) * S + (1 - SA) * D | Unione delle bitmap di origine e di destinazione |
D2D1_COMPOSITE_MODE_PLUS | O = S + D | Unione delle bitmap di origine e di destinazione |
D2D1_COMPOSITE_MODE_SOURCE_COPY | O = S | Area della bitmap di origine |
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY | O = S (solo in cui esiste l'origine) | Unione delle bitmap di origine e di destinazione. La destinazione non è sovrascritta in cui l'origine non esiste. |
D2D1_COMPOSITE_MODE_MASK_INVERT | O = (1 D) * S + (1 SA) * D | Unione delle bitmap di origine e di destinazione. I valori alfa sono invariati. |
La figura seguente mostra un esempio di ognuna delle modalità con immagini con opacità pari a 1,0 o 0,5.
Codice di esempio
Per un esempio di questo effetto, scaricare l'esempio di modalità di effetto composito Direct2D.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Server minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Intestazione | d2d1effects.h |
Libreria | d2d1.lib, dxguid.lib |