Efek kecerahan
Gunakan efek kecerahan untuk mengontrol kecerahan gambar.
CLSID untuk efek ini CLSID_D2D1Brightness.
Sebelumnya |
---|
Sesudahnya |
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();
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 fungsi persamaan: ini
Menyesuaikan gambar sesuai dengan nilai-nilai ini:
input adalah nilai intensitas piksel gambar input dari 0 hingga 1.
*White Pt. (x, y)*lokasi kurva transformasi untuk intensitas piksel yang lebih cerah.
Pt Hitam. (x, y) adalah lokasi kurva transformasi untuk intensitas piksel redup.
Mengonversi data gambar kembali ke ruang linier menggunakan persamaan ini:
Persamaan output akhir dan bagian komponen ditampilkan di sini.
Ukuran bitmap output sama dengan ukuran bitmap input.
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 |