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
- eigenschappen van effect
- uitvoer bitmap
- vereisten
- Verwante onderwerpen
Voorbeeldafbeelding
Voor |
---|
![]() |
Na |
![]() |
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 |