裁剪效果
使用裁剪效果输出图像的指定区域。
此效果的 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();
效果属性
显示名称和索引枚举 | 类型和默认值 | 描述 |
---|---|---|
Rect |
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 |