Efek morfologi

Gunakan efek morfologi untuk men tipis atau mengentalkan batas tepi dalam gambar. Efek ini membuat kernel yang 2 kali nilai Lebar dan Tinggi yang Anda tentukan. Efek ini memusatkan kernel pada piksel yang dihitung dan mengembalikan nilai maksimum dalam kernel (jika melebar) atau nilai minimum dalam kernel (jika eroding).

CLSID untuk efek ini CLSID_D2D1Morphology.

Contoh gambar

Contoh ini menunjukkan output efek saat menggunakan mode erode.

Sebelumnya
gambar sebelum efek.
Sesudahnya
gambar setelah transformasi.
ComPtr<ID2D1Effect> morphologyEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Morphology, &morphologyEffect);

morphologyEffect->SetInput(0, bitmap);

morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_MODE, D2D1_MORPHOLOGY_MODE_ERODE);
morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_WIDTH, 14);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(morphologyEffect.Get());
m_d2dContext->EndDraw(); 

Properti efek

Nama tampilan dan enumerasi indeks Ketik dan nilai default Deskripsi
Mode
D2D1_MORPHOLOGY_PROP_MODE
D2D1_MORPHOLOGY_MODE
D2D1_MORPHOLOGY_MODE_ERODE
Mode morfologi. Mode yang tersedia adalah erode (rata) dan dilate (menebal).
Lihat Mode morfologi untuk informasi selengkapnya.
Width
D2D1_MORPHOLOGY_PROP_WIDTH
UINT
1
Ukuran kernel ke arah X. Unit berada dalam DIP. Nilai harus antara 1 dan 100 inklusif.
Height
D2D1_MORPHOLOGY_PROP_HEIGHT
UINT
1
Ukuran kernel ke arah Y. Unit berada dalam DIP. Nilai harus antara 1 dan 100 inklusif.

Mode morfologi

Nama Deskripsi
D2D1_MORPHOLOGY_MODE_ERODE Nilai minimum dari setiap saluran RGB dalam kernel digunakan.
D2D1_MORPHOLOGY_MODE_DILATE Nilai maksimum dari setiap saluran RGB dalam kernel digunakan.

Bitmap output

Untuk mode DILATE, ukuran Bitmap Output tumbuh:

Persyaratan Nilai
Output Bitmap Growth X = INT(FLOAT(Width) * ((User DPI) / 96))
Output Bitmap Growth Y = INT(FLOAT(Height) * ((User DPI) / 96))

Untuk mode ERODE, ukuran Bitmap Output menyusut:

Persyaratan Nilai
Output Bitmap Growth X = INT(FLOAT(-Width) * ((User DPI) / 96))
Output Bitmap Growth Y = INT(FLOAT(-Height) * ((User DPI) / 96))

Persyaratan

Persyaratan 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
Pustaka d2d1.lib, dxguid.lib

ID2D1Effect