Bagikan melalui


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.

Contoh gambar

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

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.

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

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, 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

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