Blend 类

定义

定义 LinearGradientBrush 对象的混合图案。 此类不能被继承。

public ref class Blend sealed
public sealed class Blend
type Blend = class
Public NotInheritable Class Blend
继承
Blend

示例

以下示例旨在用于Windows 窗体环境。 它演示了 Blend 如何将 类与 LinearGradientBrush 类结合使用,将椭圆绘制到混合了颜色的屏幕上。 椭圆在左侧为蓝色,在中心混合为红色,在右侧混合回蓝色。 这可以通过 和 属性中使用的 和 myPositions 数组中的PositionsFactors设置myFactors来实现。 请注意,Blend名为 lgBrush2LinearGradientBrush 对象的 属性必须与 对象 myBlend相等Blend

public:
   void BlendConstExample( PaintEventArgs^ e )
   {
      //Draw ellipse using Blend.
      Point startPoint2 = Point(20,110);
      Point endPoint2 = Point(140,110);
      array<Single>^myFactors = {.2f,.4f,.8f,.8f,.4f,.2f};
      array<Single>^myPositions = {0.0f,.2f,.4f,.6f,.8f,1.0f};
      Blend^ myBlend = gcnew Blend;
      myBlend->Factors = myFactors;
      myBlend->Positions = myPositions;
      LinearGradientBrush^ lgBrush2 =
            gcnew LinearGradientBrush( startPoint2,endPoint2,Color::Blue,Color::Red );
      lgBrush2->Blend = myBlend;
      Rectangle ellipseRect2 = Rectangle(20,110,120,80);
      e->Graphics->FillEllipse( lgBrush2, ellipseRect2 );

      // End example.
   }
public void BlendConstExample(PaintEventArgs e)
{
             
    //Draw ellipse using Blend.
    Point startPoint2 = new Point(20, 110);
    Point endPoint2 = new Point(140, 110);
    float[] myFactors = {.2f,.4f,.8f,.8f,.4f,.2f};
    float[] myPositions = {0.0f,.2f,.4f,.6f,.8f,1.0f};
    Blend myBlend = new Blend();
    myBlend.Factors = myFactors;
    myBlend.Positions = myPositions;
    LinearGradientBrush lgBrush2 = new LinearGradientBrush(
        startPoint2,
        endPoint2,
        Color.Blue,
        Color.Red);
    lgBrush2.Blend = myBlend;
    Rectangle ellipseRect2 = new Rectangle(20, 110, 120, 80);
    e.Graphics.FillEllipse(lgBrush2, ellipseRect2);
             
    // End example.
}
Public Sub BlendConstExample(ByVal e As PaintEventArgs)

    ' Draw ellipse using Blend.
    Dim startPoint2 As New Point(20, 110)
    Dim endPoint2 As New Point(140, 110)
    Dim myFactors As Single() = {0.2F, 0.4F, 0.8F, 0.8F, 0.4F, 0.2F}
    Dim myPositions As Single() = {0.0F, 0.2F, 0.4F, 0.6F, 0.8F, 1.0F}
    Dim myBlend As New Blend
    myBlend.Factors = myFactors
    myBlend.Positions = myPositions
    Dim lgBrush2 As New LinearGradientBrush(startPoint2, endPoint2, _
    Color.Blue, Color.Red)
    lgBrush2.Blend = myBlend
    Dim ellipseRect2 As New Rectangle(20, 110, 120, 80)
    e.Graphics.FillEllipse(lgBrush2, ellipseRect2)
End Sub

注解

渐变通常用于平滑着色形状的内部。 混合模式由两个数组定义, Factors (和 Positions) ,每个数组都包含相同数量的元素。 数组的每个元素 Positions 表示渐变线沿线距离的一个比例。 数组的每个元素 Factors 表示渐变混合中起始颜色和结束颜色在渐变线沿数组中 Positions 对应元素表示的位置上的比例。

例如,如果 和 Factors 数组的Positions相应元素分别为 0.2 和 0.3,则对于沿 100 像素线从蓝色到红色的线性渐变,则沿该线的颜色 20 像素 (20% 的距离) 由 30% 蓝色和 70% 红色组成。

构造函数

Blend()

初始化 Blend 类的新实例。

Blend(Int32)

用指定的因子和位置的数目初始化 Blend 类的新实例。

属性

Factors

获取或设置用于渐变的混合因子数组。

Positions

获取或设置渐变的混合位置的数组。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于