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
D3dx9math.h
Bibliothek
D3dx9.lib

Weitere Informationen

Mathematische Funktionen

D3DXColorAdjustContrast