Effet de morphologie
L’effet de morphologie permet de diminuer ou d’épaissir les délimitations d’une image. Cet effet crée un noyau qui correspond au double des valeurs de largeur et de hauteur que vous spécifiez. Cet effet centre le noyau sur le pixel qu’il calcule et renvoie la valeur maximale dans le noyau (dans le cas de la dilatation) ou la valeur minimale dans le noyau (dans le cas de l’érosion).
Le CLSID pour cet effet est CLSID_D2D1Morphology.
Exemples d’images
Cet exemple montre le résultat de l’effet lors de l’utilisation du mode érosion.
Avant |
---|
Après |
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();
Propriétés de l’effet
Nom complet et énumération d’index | Type et valeur par défaut | Description |
---|---|---|
Mode D2D1_MORPHOLOGY_PROP_MODE |
D2D1_MORPHOLOGY_MODE D2D1_MORPHOLOGY_MODE_ERODE |
Le mode de morphologie. Les modes disponibles sont érosion (aplati) et dilatation (épaissi). Pour plus d’informations, consultez Modes de morphologie. |
Width D2D1_MORPHOLOGY_PROP_WIDTH |
UINT 1 |
Taille du noyau dans la direction X. Les unités sont dans des DIP. Les valeurs doivent être comprises entre 1 et 100. |
Height D2D1_MORPHOLOGY_PROP_HEIGHT |
UINT 1 |
Taille du noyau dans la direction Y. Les unités sont dans des DIP. Les valeurs doivent être comprises entre 1 et 100. |
Modes de morphologie
Nom | Description |
---|---|
D2D1_MORPHOLOGY_MODE_ERODE | La valeur minimale de chaque canal RVB du noyau est utilisée. |
D2D1_MORPHOLOGY_MODE_DILATE | La valeur maximale de chaque canal RVB dans le noyau est utilisée. |
Bitmap de sortie
Pour le mode DILATE, la taille de bitmap de sortie augmente :
Exigence | Valeur |
---|---|
Croissance de bitmap de sortie X = | INT(FLOAT(Largeur) x ((ppp utilisateur) / 96)) |
Croissance de bitmap de sortie Y = | INT(FLOAT(Hauteur) x ((ppp utilisateur) / 96)) |
Pour le mode ERODE, la taille de bitmap de sortie diminue :
Exigence | Valeur |
---|---|
Croissance de bitmap de sortie X = | INT(FLOAT(-Largeur) x ((ppp utilisateur) / 96)) |
Croissance de bitmap de sortie Y = | INT(FLOAT(-Hauteur) x ((ppp utilisateur) / 96)) |
Spécifications
Exigence | Value |
---|---|
Client minimal pris en charge | Windows 8 et Mise à jour de plateforme pour Windows 7 [applications bureautiques | applications du Windows Store] |
Serveur minimal pris en charge | Windows 8 et Mise à jour de plateforme pour Windows 7 [applications bureautiques | applications du Windows Store] |
En-tête | d2d1effects.h |
Bibliothèque | d2d1.lib, dxguid.lib |