裁剪效果
使用裁剪效果输出图像的指定区域。
此效果的 CLSID CLSID_D2D1Crop。
示例图像
以前 |
---|
在效果之前 ![]() |
后 |
转换后 ![]() |
ComPtr<ID2D1Effect> cropEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Crop, &cropEffect);
cropEffect->SetInput(0, bitmap);
cropEffect->SetValue(D2D1_CROP_PROP_RECT, D2D1::RectF(0.0f, 0.0f, 256.0f, 192.0f));
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(cropEffect.Get());
m_d2dContext->EndDraw();
效果属性
显示名称和索引枚举 | 类型和默认值 | 描述 |
---|---|---|
矩形 |
D2D1_VECTOR_4F |
要裁剪的区域在窗体中指定为矢量(左、上、宽度、高度)。 |
D2D1_CROP_PROP_RECT |
{-FLT_MAX、-FLT_MAX、FLT_MAX、FLT_MAX} |
这些单位以 DIP 为单位。 注意: 如果 Rect 与输入图像的边缘边界重叠,将截断该矩形。 |
D2D1_CROP_PROP_BORDER_MODE |
D2D1_BORDER_MODE D2D1_BORDER_MODE_SOFT |
|
输出位图
此效果的输出是 Rect 属性的大小。 长度和宽度为计算
在此处使用公式进行模拟:
- 输出长度(以像素为单位=(Rect.Right-Rect.Left)*(用户的 DPI/96)
输出高度(以像素为单位=(Rect.Bottom-Rect.Top)*(用户的 DPI/96)
要求
要求 | 价值 |
---|---|
支持的最低客户端 | 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用] |
支持的最低服务器 | 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用] |
页眉 | d2d1effects.h |
图书馆 | d2d1.lib、dxguid.lib |