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%.

Sebelum
gambar sebelum efek.
Sesudah
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 di-premultip. Efeknya tidak akan bekerja pada gambar alfa lurus kecuali gambar tersebut benar-benar buram.

Properti efek

Nama tampilan dan enumerasi indeks Ketik dan nilai default Deskripsi
Saturasi
D2D1_SATURATION_PROP_SATURATION
MENGAPUNG
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

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

ID2D1Effect