Table of Contents

Struct CieLab

Namespace
SixLabors.ImageSharp.ColorProfiles
Assembly
SixLabors.ImageSharp.dll

Represents a CIE Lab* 1976 color. https://en.wikipedia.org/wiki/Lab_color_space

public readonly struct CieLab : IProfileConnectingSpace<CieLab, CieXyz>, IColorProfile<CieLab, CieXyz>, IColorProfile<CieLab>, IColorProfile, IEquatable<CieLab>, IProfileConnectingSpace
Implements
Inherited Members

Constructors

CieLab(Vector3)

Initializes a new instance of the CieLab struct.

public CieLab(Vector3 vector)

Parameters

vector Vector3

The vector representing the l, a, b components.

CieLab(float, float, float)

Initializes a new instance of the CieLab struct.

public CieLab(float l, float a, float b)

Parameters

l float

The lightness dimension.

a float

The a (green - magenta) component.

b float

The b (blue - yellow) component.

Properties

A

Gets the a color component. A value usually ranging from -100 to 100. Negative is green, positive magenta.

public float A { get; }

Property Value

float

B

Gets the b color component. A value usually ranging from -100 to 100. Negative is blue, positive is yellow

public float B { get; }

Property Value

float

L

Gets the lightness dimension. A value usually ranging between 0 (black), 100 (diffuse white) or higher (specular white).

public float L { get; }

Property Value

float

Methods

Equals(CieLab)

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

public bool Equals(CieLab other)

Parameters

other CieLab

An object to compare with this object.

Returns

bool

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

Equals(object?)

Indicates whether this instance and a specified object are equal.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and this instance are the same type and represent the same value; otherwise, false.

FromProfileConnectingSpace(ColorConversionOptions, in CieXyz)

Initializes the color instance from the profile connection space.

public static CieLab FromProfileConnectingSpace(ColorConversionOptions options, in CieXyz source)

Parameters

options ColorConversionOptions

The color profile conversion options.

source CieXyz

The color profile connecting space.

Returns

CieLab

The CieLab.

FromProfileConnectionSpace(ColorConversionOptions, ReadOnlySpan<CieXyz>, Span<CieLab>)

Converts the span of colors from the profile connection space.

public static void FromProfileConnectionSpace(ColorConversionOptions options, ReadOnlySpan<CieXyz> source, Span<CieLab> destination)

Parameters

options ColorConversionOptions

The color profile conversion options.

source ReadOnlySpan<CieXyz>

The color profile span to convert from.

destination Span<CieLab>

The color span to write the results to.

FromScaledVector4(Vector4)

Initializes the color instance from a generic a generic ("scaled") Vector4 representation with values scaled and clamped between 0 and 1.

public static CieLab FromScaledVector4(Vector4 source)

Parameters

source Vector4

The vector to load the pixel from.

Returns

CieLab

The CieLab.

FromScaledVector4(ReadOnlySpan<Vector4>, Span<CieLab>)

Converts the span of colors from a generic ("scaled") Vector4 representation with values scaled and clamped between 0 and 1.

public static void FromScaledVector4(ReadOnlySpan<Vector4> source, Span<CieLab> destination)

Parameters

source ReadOnlySpan<Vector4>

The vector span to convert from.

destination Span<CieLab>

The color span to write the results to.

GetChromaticAdaptionWhitePointSource()

Gets the chromatic adaption white point source.

public static ChromaticAdaptionWhitePointSource GetChromaticAdaptionWhitePointSource()

Returns

ChromaticAdaptionWhitePointSource

The ChromaticAdaptionWhitePointSource.

GetHashCode()

Returns the hash code for this instance.

public override int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

ToProfileConnectingSpace(ColorConversionOptions)

Converts the color to the profile connection space.

public CieXyz ToProfileConnectingSpace(ColorConversionOptions options)

Parameters

options ColorConversionOptions

The color profile conversion options.

Returns

CieXyz

The CieXyz.

ToProfileConnectionSpace(ColorConversionOptions, ReadOnlySpan<CieLab>, Span<CieXyz>)

Converts the span of colors to the profile connection space.

public static void ToProfileConnectionSpace(ColorConversionOptions options, ReadOnlySpan<CieLab> source, Span<CieXyz> destination)

Parameters

options ColorConversionOptions

The color profile conversion options.

source ReadOnlySpan<CieLab>

The color span to convert from.

destination Span<CieXyz>

The color profile span to write the results to.

ToScaledVector4()

Expands the pixel into a generic ("scaled") Vector4 representation with values scaled and clamped between 0 and 1. The vector components are typically expanded in least to greatest significance order.

public Vector4 ToScaledVector4()

Returns

Vector4

The Vector4.

ToScaledVector4(ReadOnlySpan<CieLab>, Span<Vector4>)

Converts the span of colors to a generic ("scaled") Vector4 representation with values scaled and clamped between 0 and 1.

public static void ToScaledVector4(ReadOnlySpan<CieLab> source, Span<Vector4> destination)

Parameters

source ReadOnlySpan<CieLab>

The color span to convert from.

destination Span<Vector4>

The vector span to write the results to.

ToString()

Returns the fully qualified type name of this instance.

public override string ToString()

Returns

string

The fully qualified type name.

Operators

operator ==(CieLab, CieLab)

Compares two CieLab objects for equality.

public static bool operator ==(CieLab left, CieLab right)

Parameters

left CieLab

The CieLab on the left side of the operand.

right CieLab

The CieLab on the right side of the operand.

Returns

bool

True if the current left is equal to the right parameter; otherwise, false.

operator !=(CieLab, CieLab)

Compares two CieLab objects for inequality

public static bool operator !=(CieLab left, CieLab right)

Parameters

left CieLab

The CieLab on the left side of the operand.

right CieLab

The CieLab on the right side of the operand.

Returns

bool

True if the current left is unequal to the right parameter; otherwise, false.