Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare l'effetto matrice di colori per modificare i valori RGBA di una bitmap.
È possibile usare questo effetto per:
- Rimuovere un canale colore da un'immagine.
- Ridurre il colore in un'immagine.
- Scambia canali di colore.
- Combinare canali di colore.
Molti effetti predefiniti sono specializzazioni della matrice di colori ottimizzate per l'uso previsto degli effetti. Gli esempi includono saturazione, tonalità ruotano, sepiae temperatura e tinta.
Il CLSID per questo effetto è CLSID_D2D1ColorMatrix.
Immagine di esempio
L'esempio seguente mostra le immagini di input e output dell'effetto matrice di colore che scambia i canali rosso e blu.
Prima |
---|
![]() |
Dopo |
![]() |
ComPtr<ID2D1Effect> colorMatrixEffect;
m_d2dContext->CreateEffect(CLSID_D2D1ColorMatrix, &colorMatrixEffect);
colorMatrixEffect->SetInput(0, bitmap);
D2D1_MATRIX_5X4_F matrix = D2D1::Matrix5x4F(0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0);
colorMatrixEffect->SetValue(D2D1_COLORMATRIX_PROP_COLOR_MATRIX, matrix);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(colorMatrixEffect.Get());
m_d2dContext->EndDraw();
Questo effetto moltiplica i valori RGBA dell'immagine per una matrice principale di colonna 5x4, come illustrato in questa equazione.
Questo effetto funziona sulle immagini alfa dritte e premoltiplicate.
Proprietà dell'effetto
Modalità alfa
Nome | Descrizione |
---|---|
D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED | L'effetto annulla la premoltiplica l'input, applica la matrice di colori e premoltiplica l'output. |
D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT | L'effetto applica la matrice di colori direttamente all'input e non premoltiply l'output. |
Fabbisogno
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 |
Biblioteca | d2d1.lib, dxguid.lib |