Efek kabur Gaussia
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 Pencahayaan Spekular atau efek 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.
Contoh gambar
Sebelum |
---|
![]() |
Sesudah |
![]() |
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();
Properti efek
Mode pengoptimalan
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. |
Mode batas
Nama | Deskripsi |
---|---|
D2D1_BORDER_MODE_SOFT | Efeknya mengalihkan 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. |
Bitmap output
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, yang 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
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 |