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

另请参阅

画笔和填充形状

颜色

创建路径渐变

使用颜色渐变填充形状

GraphicsPath

PathGradientBrush

PathGradientBrush::GetBlend

PathGradientBrush::GetBlendCount

PathGradientBrush::SetBlend

PathGradientBrush::SetBlendBellShape