使用高斯模糊效果基于高斯函数在整个输入图像上创建模糊。

可以使用此效果创建发光和投影,并使用 复合 效果将结果应用于原始图像。 它可用于照片处理,如突出显示和阴影等筛选器。 可以使用此效果的输出将输入到照明效果中,例如 反射照明 或 漫射照明 效果,因为 alpha 通道也模糊,并且照明效果也使用 alpha 通道来确定表面几何图形作为高度地图。

内置 阴影 效果使用此效果。

此效果的 CLSID CLSID_D2D1GaussianBlur。

示例图像

效果属性

优化模式

边框模式

输出位图

要求

相关主题

示例图像

以前

在效果之前

转换后

ComPtr gaussianBlurEffect;

m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);

gaussianBlurEffect->SetInput(0, bitmap);

gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);

m_d2dContext->BeginDraw();

m_d2dContext->DrawImage(gaussianBlurEffect.Get());

m_d2dContext->EndDraw();

效果属性

显示名称和索引枚举

描述

StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION

要应用于图像的模糊量。 可以通过将标准偏差乘以 3 来计算内核的模糊半径。 标准偏差和模糊半径的单位都是 DIP。 值为零的 DIP 完全禁用此效果。 类型为 FLOAT。 默认值为 3.0f。

优化 D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION

优化模式。 有关详细信息,请参阅 优化模式。 类型为D2D1_GAUSSIANBLUR_OPTIMIZATION。 默认值为D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED。

BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE

用于计算图像边框、软边框或硬边框的模式。 有关详细信息,请参阅 边框模式。 类型为D2D1_GAUSSIANBLUR_BORDER_MODE。 默认值为D2D1_BORDER_MODE_SOFT。

优化模式

名字

描述

D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED

应用内部优化,例如以相对较小的弧度预先缩放。 使用线性筛选。

D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED

使用与速度模式相同的优化阈值,但使用三线性筛选。

D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY

仅使用具有大模糊弧度的内部优化,其中近似值不太可能可见。 使用三线性筛选。

边框模式

名字

描述

D2D1_BORDER_MODE_SOFT

该效果使用透明黑色像素填充图像,因为它应用模糊内核,从而导致软边缘。

D2D1_BORDER_MODE_HARD

该效果将输出固定到输入图像的大小。 当效果应用模糊内核时,它会使用镜像类型边框转换扩展输入图像,以便在输入边界外的示例。

输出位图

此效果的输出可以大于基于模糊半径和边框模式的输入位图。 如果边框模式设置为D2D1_BORDER_MODE_SOFT输出位图的大小会随着模糊内核的大小而增加,以像素表示。 此表提供可用于计算输出位图的公式。

Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)

因此,如果图像大小在每个方向增加 10 像素,则图像左上角将位于 (-5, -5), 而右下角将位于 (105, 105)。

要求

要求

价值

支持的最低客户端

适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用]

支持的最低服务器

适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用]

页眉

d2d1effects.h

图书馆

d2d1.lib、dxguid.lib

相关主题

ID2D1Effect