Delen via


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

In de afbeelding ziet u de invoer en uitvoer van het effect van de tabeloverdracht.

Voor
de afbeelding vóór het effect.
Na
de afbeelding na de transformatie.
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].

pixelintensiteitsgrafiek voor de tabeloverdrachtsfunctie.

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

ID2D1Effect-