D3DXColorAdjustSaturation-Funktion (D3dx9math.h)
Passt den Sättigungswert einer Farbe an.
Syntax
D3DXCOLOR* D3DXColorAdjustSaturation(
_Inout_ D3DXCOLOR *pOut,
_In_ const D3DXCOLOR *pC,
_In_ FLOAT s
);
Parameter
-
pOut [ in, out]
-
Typ: D3DXCOLOR*
Zeiger auf eine D3DXCOLOR-Struktur, die das Ergebnis des Vorgangs ist.
-
pC [ In]
-
Typ: const D3DXCOLOR *
Zeiger auf eine D3DXCOLOR-Quellstruktur.
-
s [ in]
-
Typ: FLOAT
Sättigungswert. Dieser Parameter interpoliert linear zwischen der in Graustufen konvertierten Farbe und der ursprünglichen Farbe pC. Es gibt keine Grenzwerte für den Wert von s. Wenn s 0 ist, ist die zurückgegebene Farbe die Graustufenfarbe. Wenn s 1 ist, ist die zurückgegebene Farbe die ursprüngliche Farbe.
Rückgabewert
Typ: D3DXCOLOR*
Diese Funktion gibt einen Zeiger auf eine D3DXCOLOR-Struktur zurück, die das Ergebnis der Anpassung der Sättigung ist.
Bemerkungen
Der Alpha-Eingabekanal wird unverändert in den Alphaausgabekanal kopiert.
Der Rückgabewert für diese Funktion ist der gleiche Wert, der im pOut-Parameter zurückgegeben wird. Auf diese Weise kann diese Funktion als Parameter für eine andere Funktion verwendet werden.
Diese Funktion interpoliert die Rot-, Grün- und Blau-Farbkomponenten einer D3DXCOLOR-Struktur zwischen einer nicht überlasteten Farbe und einer Farbe, wie im folgenden Beispiel gezeigt.
// 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);
Wenn s größer als 0 und kleiner als 1 ist, wird die Sättigung verringert. Wenn s größer als 1 ist, wird die Sättigung erhöht.
Die Graustufenfarbe wird wie die folgende berechnet:
r = g = b = 0.2125*r + 0.7154*g + 0.0721*b
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|