Table of Contents

Class LinearGradientBrush

Namespace
SixLabors.ImageSharp.Drawing.Processing
Assembly
SixLabors.ImageSharp.Drawing.dll

Provides a brush that paints linear gradients within an area. Supports both classic two-point gradients and three-point (rotated) gradients.

public sealed class LinearGradientBrush : GradientBrush, IEquatable<Brush>
Inheritance
LinearGradientBrush
Implements
Inherited Members

Constructors

LinearGradientBrush(PointF, PointF, GradientRepetitionMode, params ColorStop[])

Initializes a new instance of the LinearGradientBrush class using a start and end point.

public LinearGradientBrush(PointF p0, PointF p1, GradientRepetitionMode repetitionMode, params ColorStop[] colorStops)

Parameters

p0 PointF

The start point of the gradient.

p1 PointF

The end point of the gradient.

repetitionMode GradientRepetitionMode

Defines how the colors are repeated.

colorStops ColorStop[]

The ordered color stops of the gradient.

LinearGradientBrush(PointF, PointF, PointF, GradientRepetitionMode, params ColorStop[])

Initializes a new instance of the LinearGradientBrush class using three points to define a rotated gradient axis.

public LinearGradientBrush(PointF p0, PointF p1, PointF rotationPoint, GradientRepetitionMode repetitionMode, params ColorStop[] colorStops)

Parameters

p0 PointF

The first point (start of the gradient).

p1 PointF

The second point (gradient vector endpoint).

rotationPoint PointF

The rotation reference point. This defines the rotation of the gradient axis.

repetitionMode GradientRepetitionMode

Defines how the colors are repeated.

colorStops ColorStop[]

The ordered color stops of the gradient.

Properties

EndPoint

Gets the end point of the gradient axis.

public PointF EndPoint { get; }

Property Value

PointF

StartPoint

Gets the start point of the gradient axis.

public PointF StartPoint { get; }

Property Value

PointF

Methods

CreateRenderer<TPixel>(Configuration, GraphicsOptions, int, RectangleF)

Creates the prepared execution object for this brush.

public override BrushRenderer<TPixel> CreateRenderer<TPixel>(Configuration configuration, GraphicsOptions options, int canvasWidth, RectangleF region) where TPixel : unmanaged, IPixel<TPixel>

Parameters

configuration Configuration

The configuration instance to use when performing operations.

options GraphicsOptions

The graphic options.

canvasWidth int

The canvas width for the current render pass.

region RectangleF

The region the brush will be applied to.

Returns

BrushRenderer<TPixel>

The BrushRenderer<TPixel> for this brush.

Type Parameters

TPixel

The pixel type.

Remarks

The region when being applied to things like shapes would usually be the bounding box of the shape not necessarily the bounds of the whole image.

Equals(Brush?)

Indicates whether the current object is equal to another object of the same type.

public override bool Equals(Brush? other)

Parameters

other Brush

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

Transform(Matrix4x4)

Returns a new brush with its defining geometry transformed by the given matrix.

public override Brush Transform(Matrix4x4 matrix)

Parameters

matrix Matrix4x4

The transformation matrix to apply.

Returns

Brush

A transformed brush, or this if the brush has no spatial parameters.