PathGradientBrush::SetBlendTriangularShape 方法 (gdipluspath.h)
PathGradientBrush::SetBlendTriangularShape 方法设置此路径渐变画笔的混合形状。
语法
Status SetBlendTriangularShape(
[in] REAL focus,
[in, optional] REAL scale
);
参数
[in] focus
类型: REAL
指定中心颜色的最高强度的实数。 此数字必须在 0 到 1 的范围内。
[in, optional] scale
类型: REAL
可选。 指定与边界颜色混合的中心颜色的最大强度的实数。 此数字必须在 0 到 1 的范围内。 默认值为 1。
返回值
类型: 状态
如果该方法成功,则返回 Ok,这是 Status 枚举的元素。
如果方法失败,它将返回 Status 枚举的其他元素之一。
注解
默认情况下,从路径渐变的边界移动到中心点时,颜色会逐渐从边界颜色更改为中心颜色。 可以通过调用 PathGradientBrush::SetBlendTriangularShape 方法自定义边界和中心颜色的定位和混合。
示例
以下示例基于椭圆创建 PathGradientBrush 对象。 该代码调用 PathGradientBrush 对象的 PathGradientBrush::SetBlendTriangularShape 方法,传递焦点为 0.2,小数位数为 0.7。 然后,代码使用路径渐变画笔绘制包含椭圆的矩形。
VOID Example_SetBlendShape(HDC hdc)
{
Graphics graphics(hdc);
// Create a path that consists of a single ellipse.
GraphicsPath path;
path.AddEllipse(0, 0, 200, 100);
// Use the path to construct a brush.
PathGradientBrush pthGrBrush(&path);
// Set the color at the center of the path to red.
pthGrBrush.SetCenterColor(Color(255, 255, 0, 0));
// Set the color along the entire boundary of the path to blue.
Color colors[] = {Color(255, 0, 0, 255)};
INT count = 1;
pthGrBrush.SetSurroundColors(colors, &count);
pthGrBrush.SetBlendTriangularShape(0.2f, 0.7f);
// The color is blue on the boundary and at the center.
// At points that are 20 percent of the way from the boundary to the
// center, the color is 70 percent red and 30 percent blue.
graphics.FillRectangle(&pthGrBrush, 0, 0, 300, 300);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdipluspath.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |