边框效果

使用边框效果从边缘扩展图像。 可以使用此效果重复图像边缘的像素、包装图像另一端的像素,或跨位图边框镜像像素以扩展位图区域。

此效果的 CLSID 是CLSID_D2D1Border。

示例图像

此处的示例显示了使用每种模式的边框效果的输出。 输出大小是无限的,但这些示例图像的大小被裁剪为两倍。

镜像

之前
显示效果前的图像的屏幕截图。
之后
显示转换后的图像的屏幕截图。

Clamp

之前
显示夹效果前的图像的屏幕截图。
之后
显示转换后固定器的图像的屏幕截图。

包装

之前
显示环绕效果前的图像的屏幕截图。
之后
显示转换后的图像的屏幕截图,以便换行。
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。

边缘模式

显示名称和索引枚举 说明
Clamp
D2D1_BORDER_EDGE_MODE_CLAMP
重复图像边缘的像素。
包装
D2D1_BORDER_EDGE_MODE_WRAP
使用图像相反端边缘的像素。
镜像
D2D1_BORDER_EDGE_MODE_MIRROR
反射图像边缘的像素。

输出位图

除 0 大小的输入图像外,所有输入的输出位图大小都是无限的。 如果输入图像的高度或宽度为 0,则输出大小为 0。

要求

要求
最低受支持的客户端 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |Windows 应用商店应用]
最低受支持的服务器 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |Windows 应用商店应用]
标头 d2d1effects.h
d2d1.lib、dxguid.lib

ID2D1Effect