LinearGradientBrush 类

定义

使用线性渐变封装 Brush。 此类不能被继承。

public ref class LinearGradientBrush sealed : System::Drawing::Brush
public sealed class LinearGradientBrush : System.Drawing.Brush
type LinearGradientBrush = class
    inherit Brush
Public NotInheritable Class LinearGradientBrush
Inherits Brush
继承
LinearGradientBrush

示例

以下示例创建一个水平 LinearGradientBrush;当从水平坐标 0 移动到水平坐标 200 时,颜色分量会线性变化。 例如,第一个坐标介于 0 和 200 之间的点的蓝色分量将介于 0 和 255 之间。 此示例旨在与 Windows 窗体 一起使用。 下面的代码示例旨在与 Windows 窗体 一起使用,它需要 PaintEventArgse,它是 的参数PaintEventHandler

public void UseHorizontalLinearGradients(PaintEventArgs e)
{
    LinearGradientBrush linGrBrush = new LinearGradientBrush(
       new Point(0, 10),
       new Point(200, 10),
       Color.FromArgb(255, 255, 0, 0),   // Opaque red
       Color.FromArgb(255, 0, 0, 255));  // Opaque blue

    Pen pen = new Pen(linGrBrush);

    e.Graphics.DrawLine(pen, 0, 10, 200, 10);
    e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100);
    e.Graphics.FillRectangle(linGrBrush, 0, 155, 500, 30);
}
Dim linGrBrush As New LinearGradientBrush( _
   New Point(0, 10), _
   New Point(200, 10), _
   Color.FromArgb(255, 255, 0, 0), _
   Color.FromArgb(255, 0, 0, 255))
Dim pen As New Pen(linGrBrush)

e.Graphics.DrawLine(pen, 0, 10, 200, 10)
e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100)
e.Graphics.FillRectangle(linGrBrush, 0, 155, 500, 30)

注解

此类封装双色渐变和自定义多色渐变。

所有线性渐变都沿由矩形宽度或两个点指定的线条定义。

默认情况下,双色线性渐变是沿指定线条从起始颜色到结束颜色的均匀水平线性混合。 使用 Blend 类、 SetSigmaBellShape 方法或 SetBlendTriangularShape 方法自定义混合模式。 通过在构造函数中指定 LinearGradientMode 枚举或角度来自定义渐变的方向。

InterpolationColors使用 属性创建多色渐变。

属性 Transform 指定应用于渐变的局部几何转换。

注意

在 .NET 6 及更高版本中, System.Drawing.Common 包(包括此类型)仅在 Windows 操作系统上受支持。 在跨平台应用中使用此类型会导致编译时警告和运行时异常。 有关详细信息,请参阅 仅在 Windows 上支持 System.Drawing.Common

构造函数

LinearGradientBrush(Point, Point, Color, Color)

使用指定的点和颜色初始化 LinearGradientBrush 类的新实例。

LinearGradientBrush(PointF, PointF, Color, Color)

使用指定的点和颜色初始化 LinearGradientBrush 类的新实例。

LinearGradientBrush(Rectangle, Color, Color, LinearGradientMode)

根据一个矩形、起始颜色和结束颜色以及方向,创建 LinearGradientBrush 类的新实例。

LinearGradientBrush(Rectangle, Color, Color, Single)

根据一个矩形、起始颜色和结束颜色以及方向角度,创建 LinearGradientBrush 类的新实例。

LinearGradientBrush(Rectangle, Color, Color, Single, Boolean)

根据一个矩形、起始颜色和结束颜色以及方向角度,创建 LinearGradientBrush 类的新实例。

LinearGradientBrush(RectangleF, Color, Color, LinearGradientMode)

根据一个矩形、起始颜色和结束颜色以及方向模式,创建 LinearGradientBrush 类的新实例。

LinearGradientBrush(RectangleF, Color, Color, Single)

根据一个矩形、起始颜色和结束颜色以及方向角度,创建 LinearGradientBrush 类的新实例。

LinearGradientBrush(RectangleF, Color, Color, Single, Boolean)

根据一个矩形、起始颜色和结束颜色以及方向角度,创建 LinearGradientBrush 类的新实例。

属性

Blend

获取或设置一个 Blend,它指定定义渐变自定义过渡的位置和因素。

GammaCorrection

获取或设置一个值,该值指示是否为该 LinearGradientBrush 启用灰度校正。

InterpolationColors

获取或设置一个定义多色线性渐变的 ColorBlend

LinearColors

获取或设置渐变的起始色和结束色。

Rectangle

获取定义渐变的起点和终点的矩形区域。

Transform

获取或设置一个副本 Matrix,它定义此 LinearGradientBrush 的局部几何转换。

WrapMode

获取或设置 WrapMode 枚举,它指示该 LinearGradientBrush 的环绕模式。

方法

Clone()

创建此 LinearGradientBrush 的一个精确副本。

CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放由此 Brush 对象使用的所有资源。

(继承自 Brush)
Dispose(Boolean)

释放由 Brush 占用的非托管资源,还可以另外再释放托管资源。

(继承自 Brush)
Equals(Object)

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

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
MultiplyTransform(Matrix)

通过预先计算指定的 Matrix,将表示此 LinearGradientBrush 的局部几何转换的 Matrix 与指定的 Matrix 相乘。

MultiplyTransform(Matrix, MatrixOrder)

按指定的顺序,将表示此 LinearGradientBrush 的局部几何转换的 Matrix 与指定的 Matrix 相乘。

ResetTransform()

Transform 属性重置为标识。

RotateTransform(Single)

将局部几何转换旋转指定大小。 此方法预先计算对转换的旋转。

RotateTransform(Single, MatrixOrder)

将局部几何转换以指定顺序旋转指定量。

ScaleTransform(Single, Single)

将局部几何转换缩放指定的量。 此方法预先计算转换的缩放矩阵。

ScaleTransform(Single, Single, MatrixOrder)

将局部几何转换以指定顺序缩放指定的量。

SetBlendTriangularShape(Single)

创建一个从中心色向两端单一颜色线性过渡的线性渐变过程。

SetBlendTriangularShape(Single, Single)

创建一个从中心色向两端单一颜色线性过渡的线性渐变过程。

SetNativeBrush(IntPtr)

在派生类中,设置对 GDI+ 画笔对象的引用。

(继承自 Brush)
SetSigmaBellShape(Single)

创建基于钟形曲线的渐变过渡过程。

SetSigmaBellShape(Single, Single)

创建基于钟形曲线的渐变过渡过程。

ToString()

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

(继承自 Object)
TranslateTransform(Single, Single)

将局部几何转换平移指定的尺寸。 该方法将预先计算对转换的平移。

TranslateTransform(Single, Single, MatrixOrder)

按指定的顺序将局部几何转换平移指定的尺寸。

适用于

另请参阅