Blend 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义 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名为 lgBrush2
的 LinearGradientBrush 对象的 属性必须与 对象 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) |