Поделиться через


Эффект границы

Используйте эффект границы для расширения изображения с краев. Этот эффект можно использовать для повторения пикселей с краев изображения, упаковки пикселей с противоположного конца изображения или зеркального отображения через границу растрового изображения для расширения области растрового изображения.

CLSID для этого эффекта CLSID_D2D1Border.

Примеры изображений

В примерах ниже показаны выходные данные эффекта границы с помощью каждого режима. Размер выходных данных является бесконечным, но эти примеры изображений обрезаются в два раза больше.

Зеркало

Перед
снимок экрана, показывающий изображение перед эффектом.
После
снимок экрана, показывающий изображение после преобразования.

Зажим

Перед
снимок экрана, показывающий изображение перед эффектом для зажима.
После
снимок экрана, показывающий изображение после преобразования для закрепления.

Завернуть

Перед
снимок экрана, показывающий изображение перед эффектом для оболочки.
После
снимок экрана, показывающий изображение после преобразования для оболочки.
ComPtr<ID2D1Effect> borderEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Border, &borderEffect);

borderEffect->SetInput(0, bitmap);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_X, D2D1_BORDER_EDGE_MODE_MIRROR);
borderEffect->SetValue(D2D1_BORDER_PROP_EDGE_MODE_Y, D2D1_BORDER_EDGE_MODE_MIRROR);

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

Свойства эффекта

Отображаемое имя и перечисление индексов Описание
Пограничный режим X
D2D1_BORDER_PROP_EDGE_MODE_X
Пограничный режим в направлении X для эффекта. Это можно задать для закрепления, упаковки или зеркального отображения. Дополнительные сведения см. в режимах edge.
Тип D2D1_BORDER_EDGE_MODE.
Значение по умолчанию — D2D1_BORDER_EDGE_MODE_CLAMP.
Пограничный режим Y
D2D1_BORDER_PROP_EDGE_MODE_Y
Пограничный режим в направлении Y для эффекта. Это можно задать для закрепления, упаковки или зеркального отображения. Дополнительные сведения см. в режимах edge.
Тип D2D1_BORDER_EDGE_MODE.
Значение по умолчанию — D2D1_BORDER_EDGE_MODE_CLAMP.

Режимы пограничных вычислений

Отображаемое имя и перечисление индексов Описание
Зажим
D2D1_BORDER_EDGE_MODE_CLAMP
Повторяет пиксели с краев изображения.
Завернуть
D2D1_BORDER_EDGE_MODE_WRAP
Использует пиксели с противоположного края изображения.
Зеркало
D2D1_BORDER_EDGE_MODE_MIRROR
Отражает пиксели о краю изображения.

Выходной растровый рисунок

Размер выходного растрового изображения бесконечно для всех входных данных, за исключением входного изображения размером 0. Если высота или ширина входного изображения равна 0, размер выходных данных равен 0.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows]
Минимальный поддерживаемый сервер Windows 8 и Обновление платформы для Windows 7 [классические приложения | Приложения Магазина Windows]
Заголовок d2d1effects.h
Библиотека d2d1.lib, dxguid.lib

ID2D1Effect