Delen via


Gammaoverdrachteffect

Gebruik het effect gammaoverdracht om de kleurintensiteiten van een afbeelding toe te wijzen met behulp van een gammafunctie die is gemaakt met behulp van een amplitude, exponent en offset die u voor elk kanaal opgeeft.

De CLSID voor dit effect is CLSID_D2D1GammaTransfer. Als u dit effect wilt gebruiken, voegt u dxguid.lib toe aan de linkerafhankelijkheden.

Voorbeeldafbeelding

Voor
de afbeelding vóór het effect.
Na
de afbeelding na de transformatie.
ComPtr<ID2D1Effect> gammaTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GammaTransfer, &gammaTransferEffect);

gammaTransferEffect->SetInput(0, bitmap);

gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_RED_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT, 0.25f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gammaTransferEffect.Get());
m_d2dContext->EndDraw();

Dit effect past een gammaoverdrachtfunctie toe op basis van de vergelijking hier.

De intensiteit van de invoer pixel wordt weergegeven als C en de uitvoer pixel intensiteit als C'. C' = Amplitude * CExponent + Offset

Dit effect werkt op rechte en vooraf samengestelde alfa-afbeeldingen. Het effect voert vooraf ontwikkelde alfa bitmaps uit.

Effecteigenschappen

Notitie

Voor alle kanalen van de gammaoverdrachtseigenschappen:

  • De amplitudewaarde is niet gebonden en is unitloos.
  • De exponentwaarde is niet gebonden en is eenheidsloos.
  • De verschuivingswaarde is niet gebonden en is unitloos.
Weergavenaam en indexenumeratie Beschrijving
RedAmplitude
D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE
De amplitude van de gammaoverdrachtfunctie voor het Rode kanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
RedExponent
D2D1_GAMMATRANSFER_PROP_RED_EXPONENT
De exponent van de gammaoverdrachtfunctie voor het Rode kanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
RedOffset
D2D1_GAMMATRANSFER_PROP_RED_OFFSET
De verschuiving van de gammaoverdrachtfunctie voor het rode kanaal. Het type is FLOAT.
De standaardwaarde is 0,0f.
RedDisable
D2D1_GAMMATRANSFER_PROP_RED_DISABLE
Als u dit instelt op TRUE, wordt de overdrachtsfunctie niet toegepast op het rode kanaal. Er wordt een functie voor identiteitsoverdracht gebruikt. Als u dit instelt op FALSE, wordt de functie gammaoverdracht toegepast op het rode kanaal. Het type is BOOL.
De standaardwaarde is FALSE.
GreenAmplitude
D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE
De amplitude van de gamma-overdrachtsfunctie voor het Groene kanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
GreenExponent
D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT
De exponent van de gammaoverdrachtfunctie voor het Groene kanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
GreenOffset
D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET
De verschuiving van de gammaoverdrachtfunctie voor het Groene kanaal. Het type is FLOAT.
De standaardwaarde is 0,0f.
GreenDisable
D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE
Als u dit instelt op TRUE, wordt de overdrachtsfunctie niet toegepast op het Groene kanaal. Er wordt een functie voor identiteitsoverdracht gebruikt. Als u dit instelt op FALSE, wordt de gammaoverdrachtfunctie toegepast op het Groene kanaal. Het type is BOOL.
De standaardwaarde is FALSE.
BlueAmplitude
D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE
De amplitude van de gammaoverdrachtfunctie voor het Blauwe kanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
BlueExponent
D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT
De exponent van de gammaoverdrachtfunctie voor het Blauwe kanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
BlueOffset
D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET
De verschuiving van de gammaoverdrachtfunctie voor het Blauwe kanaal. Het type is FLOAT.
De standaardwaarde is 0,0f.
BlueDisable
D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE
Als u dit instelt op TRUE, wordt de overdrachtsfunctie niet toegepast op het Blauwe kanaal. Er wordt een functie voor identiteitsoverdracht gebruikt. Als u dit instelt op FALSE, wordt de gammaoverdrachtfunctie toegepast op het blauwe kanaal. Het type is BOOL.
De standaardwaarde is FALSE.
AlphaAmplitude
D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE
De amplitude van de gammaoverdrachtfunctie voor het alfakanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
AlphaExponent
D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT
De exponent van de gammaoverdrachtfunctie voor het alfakanaal. Het type is FLOAT.
De standaardwaarde is 1,0f.
AlphaOffset
D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET
De verschuiving van de gammaoverdrachtfunctie voor het alfakanaal. Het type is FLOAT.
De standaardwaarde is 0,0f.
AlphaDisable
D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE
Als u dit instelt op TRUE, wordt de overdrachtsfunctie niet toegepast op het alfakanaal. Er wordt een functie voor identiteitsoverdracht gebruikt. Als u dit instelt op FALSE, wordt de gammaoverdrachtfunctie toegepast op het alfakanaal. Het type is BOOL.
De standaardwaarde is FALSE.
ClampOutput
D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT
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.
Het type is BOOL.
De standaardwaarde is FALSE.

Uitvoer bitmap

De grootte van de uitvoer bitmap is hetzelfde als de grootte van de invoer bitmap.

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-