Aracılığıyla paylaş


Morfoloji etkisi

Görüntüdeki kenar sınırlarını inceltmek veya kalınlaştırabilmek için morfoloji efektini kullanın. Bu etki, belirttiğiniz Genişlik ve Yükseklik değerlerinin 2 katı olan bir çekirdek oluşturur. Bu etki, çekirdeği hesaplamakta olduğu piksele göre ortalar ve çekirdekteki en yüksek değeri (genişletiliyorsa) veya çekirdekteki en düşük değeri (eroding ise) döndürür.

Bu etki için CLSID CLSID_D2D1Morphology.

Örnek görüntüler

Bu örnekte, erode modu kullanılırken efektin çıkışı gösterilir.

Önce
Efektin önüne görüntüyü .
Sonra
Dönüştürmeden sonra görüntüyü .
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(); 

Efekt özellikleri

Görünen ad ve dizin numaralandırması Tür ve varsayılan değer Açıklama
Mod
D2D1_MORPHOLOGY_PROP_MODE
D2D1_MORPHOLOGY_MODE
D2D1_MORPHOLOGY_MODE_ERODE
Morfoloji modu. Kullanılabilir modlar erode (düzleştirme) ve genişleme (kalınlaştır) modlardır.
Daha fazla bilgi için bkz. Morfoloji modları.
Genişlik
D2D1_MORPHOLOGY_PROP_WIDTH
UINT
1
Çekirdeğin X yönünde boyutu. Birimler DIP cinsindendir. Değerler 1 ile 100 (dahil) arasında olmalıdır.
Yükseklik
D2D1_MORPHOLOGY_PROP_HEIGHT
UINT
1
Çekirdeğin Y yönündeki boyutu. Birimler DIP cinsindendir. Değerler 1 ile 100 (dahil) arasında olmalıdır.

Morfoloji modları

Ad Açıklama
D2D1_MORPHOLOGY_MODE_ERODE Çekirdekteki her RGB kanalının en düşük değeri kullanılır.
D2D1_MORPHOLOGY_MODE_DILATE Çekirdekteki her RGB kanalından maksimum değer kullanılır.

Çıktı bit eşlemi

DILAT modu için Çıktı Bit Eşlem boyutu büyür:

Gereksinim Değer
Çıktı Bit Eşlem Büyümesi X = INT(FLOAT(Width) * ((User DPI) / 96))
Çıktı Bit Eşlem Büyümesi Y = INT(FLOAT(Yükseklik) * ((Kullanıcı DPI'sı) / 96))

ERODE modu için Çıkış Bit Eşlemi boyutu küçülür:

Gereksinim Değer
Çıktı Bit Eşlem Büyümesi X = INT(FLOAT(-Width) * ((Kullanıcı DPI'sı) / 96))
Çıktı Bit Eşlem Büyümesi Y = INT(FLOAT(-Height) * ((Kullanıcı DPI'sı) / 96))

Gereksinim -leri

Gereksinim Değer
Desteklenen en düşük istemci Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Desteklenen en düşük sunucu Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Üstbilgi d2d1effects.h
Kütüphane d2d1.lib, dxguid.lib

ID2D1Fefek