Bagikan melalui


Efek saturasi

Gunakan efek ini untuk mengubah saturasi gambar. Efek saturasi adalah spesialisasi efek matriks warna .

CLSID untuk efek ini CLSID_D2D1Saturation.

Contoh gambar

Contoh di sini menunjukkan gambar input dan output efek saturasi dengan saturasi 0%.

Sebelumnya
gambar sebelum efek.
Sesudahnya
gambar setelah transformasi.
ComPtr<ID2D1Effect> saturationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Saturation, &saturationEffect);

saturationEffect->SetInput(0, bitmap);

saturationEffect->SetValue(D2D1_SATURATION_PROP_SATURATION, 0.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(saturationEffect.Get());
m_d2dContext->EndDraw();

Efek menghitung matriks warna berdasarkan nilai saturasi (s dalam persamaan di sini) yang Anda tentukan dengan properti D2D1_SATURATION_PROP_SATURATION. Persamaan matriks ditampilkan di sini.

rumus untuk menghitung matriks saturasi.

Matriks yang dibuat hanya bergantung pada nilai saturasi. Anda dapat menggunakan efek matriks warna jika Anda memerlukan matriks tertentu.

Efek ini mengonsumsi dan menghasilkan gambar alfa yang telah ditentukan sebelumnya. Efeknya tidak akan bekerja pada gambar alfa lurus kecuali gambar tersebut sepenuhnya buram.

Properti efek

Nama tampilan dan enumerasi indeks Ketik dan nilai default Deskripsi
Saturasi
D2D1_SATURATION_PROP_SATURATION
FLOAT
0,5f
Saturasi gambar. Anda dapat mengatur saturasi ke nilai antara 0 dan 1. Jika Anda mengaturnya ke 1, gambar output sepenuhnya jenuh. Jika Anda mengaturnya ke 0, gambar output adalah monokrom. Nilai saturasi tidak bersatu.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Server minimum yang didukung Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Header d2d1effects.h
Pustaka d2d1.lib, dxguid.lib

ID2D1Effect