平铺效果

使用磁贴效果重复图像的指定区域。

此效果的 CLSID CLSID_D2D1Tile。

示例图

之前
效果前的图像。
之后
转换后的图像。
ComPtr<ID2D1Effect> tileEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Tile, &tileEffect);

tileEffect->SetInput(0, bitmap);

tileEffect->SetValue(D2D1_TILE_PROP_RECT, D2D1::RectF(0.0f, 0.0f, 256.0f, 192.0f));

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

效果属性

显示名称和索引枚举 类型和默认值 说明
Rect
D2D1_TILE_PROP_RECT
D2D1_VECTOR_4F
{0.0f, 0.0f, 100.0f, 100.0f}
要平铺的图像的区域。 此属性D2D1_VECTOR_4F定义为: (左、上、右、下) 。 单位以 DIP 为单位。

输出位图

此效果生成逻辑上无限大小的位图。

调用 ID2D1DeviceContext::D rawImage 时,可以通过设置大小来平铺图像并输出特定大小,而不会产生任何其他影响。

要求

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

ID2D1Effect