Efek kecerahan
Gunakan efek kecerahan untuk mengontrol kecerahan gambar.
CLSID untuk efek ini CLSID_D2D1Brightness.
Contoh gambar
Sebelum |
---|
![]() |
Sesudah |
![]() |
ComPtr<ID2D1Effect> brightnessEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Brightness, &brightnessEffect);
brightnessEffect->SetValue(D2D1_BRIGHTNESS_PROP_BLACK_POINT, D2D1::Vector2F(0.0f, 0.2f));
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(brightnessEffect.Get());
m_d2dContext->EndDraw();
Properti efek
Nama Tampilan Properti | Ketik dan nilai default | Deskripsi |
---|---|---|
WhitePoint D2D1_BRIGHTNESS_PROP_WHITE_POINT |
D2D1_VECTOR_2F {1.0f, 1.0f} |
Bagian atas kurva transfer kecerahan. Titik putih menyesuaikan tampilan bagian gambar yang lebih cerah. Properti ini untuk nilai x dan nilai y, dalam urutan tersebut. Masing-masing nilai properti ini antara 0 dan 1, inklusif. |
BlackPoint D2D1_BRIGHTNESS_PROP_BLACK_POINT |
D2D1_VECTOR_2F {0.0f, 0.0f} |
Bagian bawah kurva transfer kecerahan. Titik hitam menyesuaikan tampilan bagian gambar yang lebih gelap. Properti ini untuk nilai x dan nilai y, dalam urutan tersebut. Masing-masing nilai properti ini antara 0 dan 1, inklusif. |
Efek ini menggunakan titik putih dan hitam yang ditentukan untuk menghasilkan fungsi transfer yang digunakan untuk menyesuaikan bitmap. Persamaan berikutnya menjelaskan fungsi transfer. Intensitas input didefinisikan antara 0 dan 1.
Algoritma efek mengimplementasikan persamaan yang membuat fungsi transfer. Kami menggunakan fungsi ini untuk menyesuaikan piksel gambar. Nilai x dan y dari titik hitam dan titik putih adalah koordinat dalam dua dimensi yang terhubung untuk membentuk transformasi. Setiap bagian dari persamaan output akhir:
Mengonversi data gambar dari ruang linier ke ruang non-linier menggunakan persamaan ini:
Menyesuaikan gambar sesuai dengan nilai-nilai ini:
input adalah nilai intensitas piksel gambar input dari 0 hingga 1.
*Pt Putih. (x, y)*lokasi kurva transformasi untuk intensitas piksel yang lebih cerah.
Pt Hitam. (x, y) adalah lokasi kurva transformasi untuk intensitas piksel yang lebih redup.
Mengonversi data gambar kembali ke ruang linier menggunakan persamaan ini:
Persamaan output akhir dan bagian komponen ditampilkan di sini.
Bitmap output
Ukuran bitmap output sama dengan ukuran bitmap input.
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 |