D3DXColorAdjustSaturation-Funktion (D3dx9math.h)
Hinweis
Die D3DX-Hilfsprogrammbibliothek ist veraltet. Es wird empfohlen, stattdessen DirectXMath zu verwenden.
Passt den Sättigungswert einer Farbe an.
Syntax
D3DXCOLOR* D3DXColorAdjustSaturation(
_Inout_ D3DXCOLOR *pOut,
_In_ const D3DXCOLOR *pC,
_In_ FLOAT s
);
Parameter
-
pOut [ein, aus]
-
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 Sättigungsanpassung ist.
Bemerkungen
Der Eingangs-Alphakanal wird unverändert in den Alphakanal der Ausgabe kopiert.
Der Rückgabewert für diese Funktion ist derselbe 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 roten, grünen und blauen Farbkomponenten einer D3DXCOLOR-Struktur zwischen einer ungesättigten 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 folgt berechnet:
r = g = b = 0.2125*r + 0.7154*g + 0.0721*b
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch