Fungsi D3DXColorAdjustSaturation (D3dx9math.h)

Catatan

Pustaka utilitas D3DX tidak digunakan lagi. Kami menyarankan agar Anda menggunakan DirectXMath sebagai gantinya.

Menyesuaikan nilai saturasi warna.

Sintaks

D3DXCOLOR* D3DXColorAdjustSaturation(
  _Inout_       D3DXCOLOR *pOut,
  _In_    const D3DXCOLOR *pC,
  _In_          FLOAT     s
);

Parameter

pOut [masuk, keluar]

Jenis: D3DXCOLOR*

Penunjuk ke struktur D3DXCOLOR yang merupakan hasil operasi.

pC [in]

Jenis: const D3DXCOLOR*

Penunjuk ke struktur D3DXCOLOR sumber.

s [in]

Jenis: FLOAT

Nilai saturasi. Parameter ini secara linier menginterpolasi antara warna yang dikonversi menjadi skala abu-abu dan warna asli, pC. Tidak ada batasan pada nilai s. Jika s adalah 0, warna yang dikembalikan adalah warna skala abu-abu. Jika s adalah 1, warna yang dikembalikan adalah warna asli.

Menampilkan nilai

Jenis: D3DXCOLOR*

Fungsi ini mengembalikan penunjuk ke struktur D3DXCOLOR yang merupakan hasil dari penyesuaian saturasi.

Keterangan

Saluran alfa input disalin, tidak dimodifikasi, ke saluran alfa output.

Nilai yang dikembalikan untuk fungsi ini adalah nilai yang sama yang dikembalikan dalam parameter pOut. Dengan cara ini, fungsi ini dapat digunakan sebagai parameter untuk fungsi lain.

Fungsi ini menginterpolasi komponen warna merah, hijau, dan biru dari struktur D3DXCOLOR antara warna yang tidak jenuh dan warna, seperti yang ditunjukkan dalam contoh berikut.

    // 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);

Jika s lebih besar dari 0 dan kurang dari 1, saturasi berkurang. Jika s lebih besar dari 1, saturasi ditingkatkan.

Warna skala abu-abu dihitung sebagai:

r = g = b = 0.2125*r + 0.7154*g + 0.0721*b

Persyaratan

Persyaratan Nilai
Header
D3dx9math.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi matematika

D3DXColorAdjustContrast