Efek kabur Gaussian
Gunakan efek kabur Gaussian untuk membuat kabur berdasarkan fungsi Gaussian di seluruh gambar input.
Anda dapat menggunakan efek ini untuk membuat cahaya dan menghilangkan bayangan dan menggunakan efek komposit untuk menerapkan hasilnya ke gambar asli. Ini berguna dalam pemrosesan foto untuk filter seperti sorotan dan bayangan. Anda dapat menggunakan output efek ini untuk input ke dalam efek pencahayaan, seperti efek Pencahayaan Spekular atau Pencahayaan Difus , karena saluran alfa kabur, juga dan efek pencahayaan menggunakan saluran alfa untuk menentukan geometri permukaan sebagai peta tinggi.
Efek ini digunakan oleh efek Bayangan bawaan .
CLSID untuk efek ini CLSID_D2D1GaussianBlur.
Sebelumnya |
---|
Sesudahnya |
ComPtr<ID2D1Effect> gaussianBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);
gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gaussianBlurEffect.Get());
m_d2dContext->EndDraw();
Nama tampilan dan enumerasi indeks | Deskripsi |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
Jumlah kabur yang akan diterapkan pada gambar. Anda dapat menghitung radius kabur kernel dengan mengalikan simpantan standar dengan 3. Unit simpang siur standar dan radius kabur adalah DIP. Nilai nol DIP menonaktifkan efek ini sepenuhnya. Jenisnya adalah FLOAT. Nilai defaultnya adalah 3,0f. |
Pengoptimalan D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Mode pengoptimalan. Lihat Mode pengoptimalan untuk informasi selengkapnya. Jenisnya D2D1_GAUSSIANBLUR_OPTIMIZATION. Nilai defaultnya adalah D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
Mode yang digunakan untuk menghitung batas gambar, lunak, atau keras. Lihat Mode batas untuk informasi selengkapnya. Jenisnya D2D1_GAUSSIANBLUR_BORDER_MODE. Nilai defaultnya adalah D2D1_BORDER_MODE_SOFT. |
Nama | Deskripsi |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Menerapkan pengoptimalan internal seperti pra-penskalaan pada radii yang relatif kecil. Menggunakan pemfilteran linier. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Menggunakan ambang pengoptimalan yang sama dengan mode Kecepatan, tetapi menggunakan pemfilteran trilinear. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Hanya menggunakan pengoptimalan internal dengan radii kabur besar, di mana perkiraan cenderung tidak terlihat. Menggunakan pemfilteran trilinear. |
Nama | Deskripsi |
---|---|
D2D1_BORDER_MODE_SOFT | Efeknya mengapit gambar dengan piksel hitam transparan saat menerapkan kernel kabur, menghasilkan tepi lembut. |
D2D1_BORDER_MODE_HARD | Efek menjepit output ke ukuran gambar input. Saat efek menerapkan kernel kabur, efek memperluas gambar input dengan transformasi batas jenis cermin untuk sampel di luar batas input. |
Output efek ini bisa lebih besar dari bitmap input berdasarkan radius kabur dan mode batas. Jika mode batas diatur ke D2D1_BORDER_MODE_SOFT ukuran bitmap output meningkat berdasarkan ukuran kernel kabur, diwakili dalam piksel. Tabel ini menyediakan persamaan yang dapat Anda gunakan untuk menghitung bitmap output.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Jadi, jika ukuran gambar meningkat 10 piksel di setiap arah sudut kiri atas gambar akan terletak di (-5, -5) sementara kanan bawah akan berada di (105, 105).
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 |