Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эффект морфологии для тонких или толстых границ края на изображении. Этот эффект создает ядро, которое составляет 2 раза больше заданного значения ширины и высоты. Этот эффект сосредоточен на ядре на пикселе, который вычисляется и возвращает максимальное значение в ядре (если расширение) или минимальное значение в ядре (если разорвано).
CLSID для этого эффекта CLSID_D2D1Morphology.
Примеры изображений
В этом примере показаны выходные данные эффекта при использовании режима эрода.
| Перед |
|---|
|
| После |
|
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();
Свойства эффекта
| Отображаемое имя и перечисление индексов | Тип и значение по умолчанию | Описание |
|---|---|---|
| Режим D2D1_MORPHOLOGY_PROP_MODE |
D2D1_MORPHOLOGY_MODE D2D1_MORPHOLOGY_MODE_ERODE |
Режим морфологии. Доступные режимы : erode (плоский) и дилат (утолщение). Дополнительные сведения см. в режимах морфологии. |
| Ширина D2D1_MORPHOLOGY_PROP_WIDTH |
UINT 1 |
Размер ядра в направлении X. Единицы находятся в dips. Значения должны составлять от 1 до 100 включительно. |
| Высота D2D1_MORPHOLOGY_PROP_HEIGHT |
UINT 1 |
Размер ядра в направлении Y. Единицы находятся в dips. Значения должны составлять от 1 до 100 включительно. |
Режимы морфологии
| Имя | Описание |
|---|---|
| D2D1_MORPHOLOGY_MODE_ERODE | Используется минимальное значение каждого канала RGB в ядре. |
| D2D1_MORPHOLOGY_MODE_DILATE | Используется максимальное значение каждого канала RGB в ядре. |
Выходной растровый рисунок
В режиме DILATE размер битового изображения вывода увеличивается:
| Требование | Ценность |
|---|---|
| Рост растрового изображения выходных данных X = | INT(FLOAT(Width) * ((User DPI) / 96)) |
| Рост растрового изображения выходных данных = | INT(FLOAT(Height) * ((User DPI) / 96)) |
Для режима ERODE размер битового изображения выходных данных уменьшается:
| Требование | Ценность |
|---|---|
| Рост растрового изображения выходных данных X = | INT(FLOAT(-Width) * ((User DPI) / 96)) |
| Рост растрового изображения выходных данных = | INT(FLOAT(-Height) * ((User DPI) / 96)) |
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Минимальный поддерживаемый сервер | Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows] |
| Заголовок | d2d1effects.h |
| Библиотека | d2d1.lib, dxguid.lib |