Effect van tabeloverdracht
Gebruik het effect voor tabeloverdracht om de kleurintensiteiten van een afbeelding toe te wijzen met behulp van een overdrachtsfunctie die is gemaakt op basis van het interpoleren van een lijst met waarden die u opgeeft.
De CLSID voor dit effect is CLSID_D2D1TableTransfer.
- voorbeeldafbeelding
- eigenschappen van effect
- vereisten
- Verwante onderwerpen
Voorbeeldafbeelding
In de afbeelding ziet u de invoer en uitvoer van het effect van de tabeloverdracht.
Voor |
---|
![]() |
Na |
![]() |
ComPtr<ID2D1Effect> tableTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1TableTransfer, &tableTransferEffect);
tableTransferEffect->SetInput(0, bitmap);
float table[2] = {0.75f, 1.0f};
tableTransferEffect->SetValue(D2D1_TABLETRANSFER_PROP_BLUE_TABLE, table);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(tableTransferEffect.Get());
m_d2dContext->EndDraw();
De overdrachtsfunctie is gebaseerd op een lijst met invoer V=(V0,V1,V2,V3, V? ,VN) waarbij N het aantal elementen is - 1.
De intensiteit van de invoer pixel wordt weergegeven als C. De intensiteit van de uitvoer pixel, C kan worden berekend met de vergelijking.
Kies voor een waarde C een waarde k, zodat: k/N = C < (k+1)/N
De uitvoer C wordt berekend met behulp van de volgende vergelijking: C' = V? + (C - k/N) * N * (V??? 1? - V?)
Dit effect werkt op rechte en vooraf samengestelde alfa-afbeeldingen. Het effect voert vooraf ontwikkelde alfa bitmaps uit.
Hier ziet u hoe de grafiek van de tabeloverdrachtsfunctie eruitziet als de tabeleigenschap is ingesteld op [0.0, 0.25, 1.0]
.
Effecteigenschappen
Notitie
De waarden van alle kanalen van de eigenschappen voor tabeloverdracht zijn eenheidsloos en hebben minimaal 0,0 en maximaal 1,0.
Weergavenaam en indexenumeratie | Type en standaardwaarde | Beschrijving |
---|---|---|
RedTable D2D1_TABLETRANSFER_PROP_RED_TABLE |
FLOAT[] {0.0f, 1.0f} |
De lijst met waarden die worden gebruikt om de overdrachtsfunctie voor het rode kanaal te definiëren. |
RedDisable D2D1_TABLETRANSFER_PROP_RED_DISABLE |
BOOL VALS |
Als u dit instelt op TRUE, wordt de overdrachtsfunctie niet toegepast op het rode kanaal. Als u dit instelt op FALSE, wordt de functie RedTableTransfer toegepast op het rode kanaal. |
GreenTable D2D1_TABLETRANSFER_PROP_GREEN_TABLE |
FLOAT[] {0.0f, 1.0f} |
De lijst met waarden die worden gebruikt om de overdrachtsfunctie voor het Groene kanaal te definiëren. |
GreenDisable D2D1_TABLETRANSFER_PROP_GREEN_DISABLE |
BOOL VALS |
Als u dit instelt op TRUE, past het effect de overdrachtsfunctie niet toe op het Groene kanaal. Als u dit instelt op FALSE, wordt de functie GreenTableTransfer toegepast op het Groene kanaal. |
BlueTable D2D1_TABLETRANSFER_PROP_BLUE_TABLE |
FLOAT[] {0.0f, 1.0f} |
De lijst met waarden die worden gebruikt om de overdrachtsfunctie voor het blauwe kanaal te definiëren. |
BlueDisable D2D1_TABLETRANSFER_PROP_BLUE_DISABLE |
BOOL VALS |
Als u dit instelt op TRUE, past het effect de overdrachtsfunctie niet toe op het Blauwe kanaal. Als u dit instelt op FALSE, wordt de functie BlueTableTransfer toegepast op het Blauwe kanaal. |
AlfaTabel D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE |
FLOAT[] {0.0f, 1.0f} |
De lijst met waarden die worden gebruikt om de overdrachtsfunctie voor het Alpha-kanaal te definiëren. |
AlphaDisable D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE |
BOOL VALS |
Als u dit instelt op TRUE, past het effect de overdrachtsfunctie niet toe op het Alpha-kanaal. Als u dit instelt op FALSE, wordt de functie AlphaTableTransfer toegepast op het Alpha-kanaal. |
ClampOutput D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT |
BOOL VALS |
Of de effectklemmen kleurwaarden tussen 0 en 1 voordat het effect de waarden doorgeeft aan het volgende effect in de grafiek. Het effect klemt de waarden voordat het premultiplt de alfa . Als u dit instelt op TRUE, zal het effect de waarden vastzetten. Als u dit instelt op ONWAAR, zal het effect de kleurwaarden niet klemen, maar andere effecten en het uitvoeroppervlak de waarden mogelijk vastzetten als ze niet van hoge precisie zijn. |
Eisen
Eis | Waarde |
---|---|
Minimaal ondersteunde client | Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps] |
Minimaal ondersteunde server | Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps] |
Rubriek | d2d1effects.h |
Bibliotheek | d2d1.lib, dxguid.lib |