Bagikan melalui


Efek kecerahan

Gunakan efek kecerahan untuk mengontrol kecerahan gambar.

CLSID untuk efek ini CLSID_D2D1Brightness.

Contoh gambar

Sebelumnya
gambar sebelum efek.
Sesudahnya
gambar setelah transformasi.
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 kecerahan

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:

  1. Mengonversi data gambar dari ruang linier ke ruang non-linier menggunakan fungsi persamaan:helper 1 ini

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

  3. Mengonversi data gambar kembali ke ruang linier menggunakan persamaan ini: fungsi pembantu 2

Persamaan output akhir dan bagian komponen ditampilkan di sini.

perhitungan lengkap untuk penyesuaian kecerahan

Bitmap output

Ukuran bitmap output sama dengan ukuran bitmap input.

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