Effet de transfert gamma

Utilisez l’effet transfert gamma pour mapper les intensités de couleur d’une image à l’aide d’une fonction gamma créée à l’aide d’une amplitude, d’un exposant et d’un décalage que vous fournissez pour chaque canal.

Le CLSID de cet effet est CLSID _ D2D1GammaTransfer. Pour utiliser cet effet, ajoutez dxguid. lib aux dépendances de l’éditeur de liens.

Exemple d’image

Avant
image avant l’effet.
After
image après la transformation.
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();

Cet effet applique une fonction de transfert gamma basée sur l’équation ici.

L’intensité en pixels d’entrée est représentée par C et l’intensité en pixels de sortie en tant que C. C' = * exposant c amplitude + décalage

Cet effet fonctionne sur les images alpha directes et prémultipliées. L’effet génère des bitmaps alpha prémultipliés.

Propriétés d’effet

Notes

Pour tous les canaux des propriétés de transfert gamma :

  • La valeur d’amplitude n’est pas limitée et est sans unité.
  • La valeur d’exposant n’est pas limitée et est sans unité.
  • La valeur de décalage n’est pas limitée et est sans unité.
Nom complet et énumération d’index Description
RedAmplitude
_ _ _ Amplitude rouge d2d1 GAMMATRANSFER _ prop
Amplitude de la fonction de transfert gamma pour le canal rouge. Le type est FLOAT.
La valeur par défaut est 1,0 f.
RedExponent
_ _ _ Exposant rouge d2d1 GAMMATRANSFER _ prop
Exposant de la fonction de transfert gamma pour le canal rouge. Le type est FLOAT.
La valeur par défaut est 1,0 f.
RedOffset
_ _ _ Décalage rouge d2d1 GAMMATRANSFER _ prop
Décalage de la fonction de transfert gamma pour le canal rouge. Le type est FLOAT.
La valeur par défaut est 0.0 f.
RedDisable
D2D1 _ GAMMATRANSFER _ prop _ rouge _ Disable
Si vous définissez cette valeur sur TRUE, elle n’applique pas la fonction de transfert au canal rouge. Une fonction de transfert d’identité est utilisée. Si vous définissez cette valeur sur FALSe, elle applique la fonction de transfert gamma au canal rouge. Le type est BOOL.
La valeur par défaut est FALSE.
GreenAmplitude
_ _ _ Amplitude vert d2d1 GAMMATRANSFER _ prop
Amplitude de la fonction de transfert gamma pour le canal vert. Le type est FLOAT.
La valeur par défaut est 1,0 f.
GreenExponent
_ _ _ Exposant vert d2d1 GAMMATRANSFER _ prop
Exposant de la fonction de transfert gamma pour le canal vert. Le type est FLOAT.
La valeur par défaut est 1,0 f.
GreenOffset
_ _ _ Décalage vert d2d1 GAMMATRANSFER _ prop
Décalage de la fonction de transfert gamma pour le canal vert. Le type est FLOAT.
La valeur par défaut est 0.0 f.
GreenDisable
D2D1 _ GAMMATRANSFER _ prop _ vert _ Disable
Si vous définissez cette valeur sur TRUE, elle n’applique pas la fonction de transfert au canal vert. Une fonction de transfert d’identité est utilisée. Si vous définissez cette valeur sur FALSe, elle applique la fonction de transfert gamma au canal vert. Le type est BOOL.
La valeur par défaut est FALSE.
BlueAmplitude
_ _ _ Amplitude bleue d2d1 GAMMATRANSFER _ prop
Amplitude de la fonction de transfert gamma pour le canal bleu. Le type est FLOAT.
La valeur par défaut est 1,0 f.
BlueExponent
_ _ _ Exposant bleu d2d1 GAMMATRANSFER _ prop
Exposant de la fonction de transfert gamma pour le canal bleu. Le type est FLOAT.
La valeur par défaut est 1,0 f.
BlueOffset
Décalage bleu de D2D1 _ GAMMATRANSFER _ prop _ _
Décalage de la fonction de transfert gamma pour le canal bleu. Le type est FLOAT.
La valeur par défaut est 0.0 f.
BlueDisable
D2D1 _ GAMMATRANSFER _ prop _ bleu _ Disable
Si vous définissez cette valeur sur TRUE, elle n’applique pas la fonction de transfert au canal bleu. Une fonction de transfert d’identité est utilisée. Si vous définissez cette valeur sur FALSe, elle applique la fonction de transfert gamma au canal bleu. Le type est BOOL.
La valeur par défaut est FALSE.
AlphaAmplitude
_ _ _ Amplitude alpha d2d1 GAMMATRANSFER _ prop
Amplitude de la fonction de transfert gamma pour le canal alpha. Le type est FLOAT.
La valeur par défaut est 1,0 f.
AlphaExponent
_ _ _ Exposant alpha d2d1 GAMMATRANSFER _ prop
Exposant de la fonction de transfert gamma pour le canal alpha. Le type est FLOAT.
La valeur par défaut est 1,0 f.
AlphaOffset
_ _ _ Décalage alpha d2d1 GAMMATRANSFER _ prop
Décalage de la fonction de transfert gamma pour le canal alpha. Le type est FLOAT.
La valeur par défaut est 0.0 f.
AlphaDisable
D2D1 _ GAMMATRANSFER _ prop _ alpha _ Disable
Si vous définissez cette valeur sur TRUE, elle n’applique pas la fonction de transfert au canal alpha. Une fonction de transfert d’identité est utilisée. Si vous définissez cette valeur sur FALSe, elle applique la fonction de transfert gamma au canal alpha. Le type est BOOL.
La valeur par défaut est FALSE.
ClampOutput
_Sortie de Clamp d2d1 GAMMATRANSFER _ prop _ _
Si l’effet fixe les valeurs de couleur entre 0 et 1 avant que l’effet ne passe les valeurs à l’effet suivant dans le graphique. L’effet serre les valeurs avant de prémultiplier le alpha.
Si vous affectez la valeur TRUE à cet effet, les valeurs sont ancrées. Si vous définissez cette valeur sur FALSe, l’effet n’attache pas les valeurs de couleur, mais d’autres effets et la surface de sortie peuvent fixer les valeurs si elles n’ont pas une précision suffisamment élevée.
Le type est BOOL.
La valeur par défaut est FALSE.

Bitmap de sortie

La taille de la bitmap de sortie est la même que la taille de la bitmap d’entrée.

Spécifications

Condition requise Valeur
Client minimal pris en charge mise à jour Windows 8 et de plateforme pour les applications de bureau Windows 7 Windows les applications du windows [ | Store]
Serveur minimal pris en charge mise à jour Windows 8 et de plateforme pour les applications de bureau Windows 7 Windows les applications du windows [ | Store]
En-tête d2d1effects. h
Bibliothèque d2d1. lib, dxguid. lib

ID2D1Effect