Effetto morfologico
Utilizzare l'effetto morfologico per sottili o addensare i confini del bordo in un'immagine. Questo effetto crea un kernel che corrisponde a 2 volte i valori Width e Height specificati. Questo effetto centra il kernel sul pixel che sta calcolando e restituisce il valore massimo nel kernel (se dilating) o il valore minimo nel kernel (se eroding).
Il CLSID per questo effetto è CLSID_D2D1Morphology.
Immagini di esempio
Questo esempio mostra l'output dell'effetto quando si usa la modalità di erosione.
Prima di |
---|
Dopo |
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();
Proprietà dell'effetto
Enumerazione del nome visualizzato e dell'indice | Tipo e valore predefinito | Descrizione |
---|---|---|
Modalità D2D1_MORPHOLOGY_PROP_MODE |
D2D1_MORPHOLOGY_MODE D2D1_MORPHOLOGY_MODE_ERODE |
La modalità morfologica. Le modalità disponibili sono erose (appiattite) e dilate (ispessire). Per altre informazioni, vedi Modalità di morfologia. |
Larghezza D2D1_MORPHOLOGY_PROP_WIDTH |
UINT 1 |
Dimensioni del kernel nella direzione X. Le unità sono in DIP. I valori devono essere compresi tra 1 e 100 inclusi. |
Altezza D2D1_MORPHOLOGY_PROP_HEIGHT |
UINT 1 |
Dimensioni del kernel nella direzione Y. Le unità sono in DIP. I valori devono essere compresi tra 1 e 100 inclusi. |
Modalità morfologiche
Nome | Descrizione |
---|---|
D2D1_MORPHOLOGY_MODE_ERODE | Viene usato il valore minimo di ogni canale RGB nel kernel. |
D2D1_MORPHOLOGY_MODE_DILATE | Viene usato il valore massimo di ogni canale RGB nel kernel. |
Bitmap di output
Per la modalità DILATE, le dimensioni bitmap di output aumentano:
Requisito | Valore |
---|---|
Output Bitmap Growth X = | INT(FLOAT(Width) * ((User DPI) / 96)) |
Output Bitmap Growth Y = | INT(FLOAT(Height) * ((User DPI) / 96)) |
Per la modalità ERODE, le dimensioni bitmap di output si riducono:
Requisito | Valore |
---|---|
Output Bitmap Growth X = | INT(FLOAT(-Width) * ((User DPI) / 96)) |
Output Bitmap Growth Y = | INT(FLOAT(-Height) * ((USER DPI) / 96)) |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Server minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Intestazione | d2d1effects.h |
Libreria | d2d1.lib, dxguid.lib |