LinearGradientBrush::SetBlendTriangularShape 方法 (gdiplusbrush.h)

LinearGradientBrush::SetBlendTriangularShape 方法设置此线性渐变画笔的混合形状,以基于三角形形状创建自定义混合。

语法

Status SetBlendTriangularShape(
  [in] REAL focus,
  [in] REAL scale
);

参数

[in] focus

类型: REAL

指定结束颜色位置的实数。 此数字是边界线之间距离的百分比,必须在 0.0 到 1.0 的范围内。

[in] scale

类型: REAL

可选。 实数,指定在焦点位置与渐变起始颜色混合的渐变结束颜色的百分比。 此数字必须在 0.0 到 1.0 的范围内。 默认值为 1.0,指定结束颜色为全强度。

返回值

类型: 状态

如果该方法成功,则返回 Ok,这是 Status 枚举的元素。

如果方法失败,它将返回 Status 枚举的其他元素之一。

备注

默认情况下,颜色会逐渐从线性渐变画笔) 起始边界处的起始颜色 (颜色更改为线性渐变画笔) 结束边界处的结束颜色 (颜色。 可以使用 LinearGradientBrush::SetBlendTriangularShape 方法自定义起始颜色和结束颜色的定位和混合。

LinearGradientBrush::SetBlendTriangularShape 方法自定义混合,使其遵循三角形形状,该三角形的基底位于渐变边界的极端位置。 在默认混合中,起始颜色位于线性渐变画笔的起始边界,在应用三角形混合时显示在线性渐变画笔的起始和结束边界处。 结束颜色的位置(在默认混合中)位于结束边界处,位于边界之间,由焦点的值决定。 换句话说,焦点指定三角形的顶点位置。 例如,焦点值 0.5 将峰值置于起始边界和结束边界之间的一半。 结束颜色在此峰值处显示。

三角形混合中的结束颜色是渐变的默认混合起始颜色和默认混合结束颜色之间的色域的百分比。 例如,假设线性渐变画笔以红色作为起始颜色,蓝色作为结束颜色构造。 如果使用刻度值为 0.3 调用 LinearGradientBrush::SetBlendTriangularShape ,则三角形混合中的结束颜色是红色和蓝色之间的色调为 30%, (70% 红色,30% 蓝色) 。 小数位数值 1.0 生成 100% 蓝色的结束颜色。

示例

以下示例创建线性渐变画笔,设置三角形混合,并使用画笔填充矩形。 另外两次,代码设置具有不同值的三角形混合,并且每次都使用画笔填充矩形。

VOID Example_SetBlendTri(HDC hdc)
{
   Graphics myGraphics(hdc);

   LinearGradientBrush linGrBrush(
      Point(0, 0),
      Point(500, 0),
      Color(255, 255, 0, 0),   // red
      Color(255, 0, 0, 255));  // blue

   linGrBrush.SetBlendTriangularShape(0.5f, 0.6f);
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 0.8f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 75, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 1.0f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 150, 500, 50);
}

要求

   
最低受支持的客户端 Windows XP、Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 gdiplusbrush.h (包括 Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

请参阅

画笔和填充形状

创建线性渐变

使用颜色渐变填充形状

LinearGradientBrush

LinearGradientBrush::GetBlend

LinearGradientBrush::SetBlend

LinearGradientBrush::SetBlendBellShape

Point