LinearGradientBrush 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用线性渐变封装 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;当从 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的包装模式。 |