Bagikan melalui


Efek kecerahan

Gunakan efek kecerahan untuk mengontrol kecerahan gambar.

CLSID untuk efek ini CLSID_D2D1Brightness.

Contoh gambar

Sebelum
gambar sebelum efek.
Sesudah
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 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 persamaan ini:fungsi pembantu 1

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

  3. Mengonversi data gambar kembali ke ruang linier menggunakan persamaan ini: helper function 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

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