Fonction D3DXColorAdjustSaturation (D3dx9math.h)
Notes
La bibliothèque utilitaire D3DX est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.
Ajuste la valeur de saturation d’une couleur.
Syntaxe
D3DXCOLOR* D3DXColorAdjustSaturation(
_Inout_ D3DXCOLOR *pOut,
_In_ const D3DXCOLOR *pC,
_In_ FLOAT s
);
Paramètres
-
pOut [in, out]
-
Type : D3DXCOLOR*
Pointeur vers une structure D3DXCOLOR qui est le résultat de l’opération.
-
pC [in]
-
Type : const D3DXCOLOR*
Pointeur vers une structure D3DXCOLOR source.
-
s [in]
-
Type : FLOAT
Valeur de saturation. Ce paramètre interpole linéairement entre la couleur convertie en nuances de gris et la couleur d’origine, pC. Il n’existe aucune limite sur la valeur de s. Si s a la valeur 0, la couleur retournée est la couleur des nuances de gris. Si s a la valeur 1, la couleur retournée est la couleur d’origine.
Valeur retournée
Type : D3DXCOLOR*
Cette fonction retourne un pointeur vers une structure D3DXCOLOR qui est le résultat de l’ajustement de saturation.
Notes
Le canal alpha d’entrée est copié, sans modification, dans le canal alpha de sortie.
La valeur de retour pour cette fonction est la même valeur retournée dans le paramètre pOut. De cette façon, cette fonction peut être utilisée comme paramètre pour une autre fonction.
Cette fonction interpole les composants de couleur rouge, vert et bleu d’une structure D3DXCOLOR entre une couleur non saturée et une couleur, comme illustré dans l’exemple suivant.
// Approximate values for each component's contribution to luminance.
// Based upon the NTSC standard described in ITU-R Recommendation BT.709.
FLOAT grey = pC->r * 0.2125f + pC->g * 0.7154f + pC->b * 0.0721f;
pOut->r = grey + s * (pC->r - grey);
Si s est supérieur à 0 et inférieur à 1, la saturation est réduite. Si s est supérieur à 1, la saturation est augmentée.
La couleur des nuances de gris est calculée comme suit :
r = g = b = 0.2125*r + 0.7154*g + 0.0721*b
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi