Struct palette::Yxy[][src]

#[repr(C)]
pub struct Yxy<Wp = D65, T = f32> where
    T: Component + Float,
    Wp: WhitePoint
{ pub x: T, pub y: T, pub luma: T, pub white_point: PhantomData<Wp>, }

The CIE 1931 Yxy (xyY) color space.

Yxy is a luminance-chromaticity color space derived from the CIE XYZ color space. It is widely used to define colors. The chromacity diagrams for the color spaces are a plot of this color space's x and y coordiantes.

Conversions and operations on this color space depend on the white point.

Fields

x chromacity co-ordinate derived from XYZ color space as X/(X+Y+Z). Typical range is between 0 and 1

y chromacity co-ordinate derived from XYZ color space as Y/(X+Y+Z). Typical range is between 0 and 1

luma (Y) was a measure of the brightness or luminance of a color. It is the same as the Y from the XYZ color space. Its range is from 0 to 1, where 0 is black and 1 is white.

The white point associated with the color's illuminant and observer. D65 for 2 degree observer is used by default.

Methods

impl<T> Yxy<D65, T> where
    T: Component + Float
[src]

CIE Yxy with white point D65.

impl<Wp, T> Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

CIE Yxy.

Convert to a (x, y, luma), a.k.a. (x, y, Y) tuple.

Convert from a (x, y, luma), a.k.a. (x, y, Y) tuple.

Trait Implementations

impl<S, T> From<Yxy<S::WhitePoint, T>> for Hsl<S, T> where
    T: Component + Float,
    S: RgbSpace,
    T: Component + Float
[src]

Performs the conversion.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Alpha<Hsl<S, T>, T> where
    T: Component + Float,
    S: RgbSpace,
    T: Component + Float
[src]

Performs the conversion.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Hsv<S, T> where
    T: Component + Float,
    S: RgbSpace,
    T: Component + Float
[src]

Performs the conversion.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Alpha<Hsv<S, T>, T> where
    T: Component + Float,
    S: RgbSpace,
    T: Component + Float
[src]

Performs the conversion.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Hwb<S, T> where
    T: Component + Float,
    S: RgbSpace,
    T: Component + Float
[src]

Performs the conversion.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Alpha<Hwb<S, T>, T> where
    T: Component + Float,
    S: RgbSpace,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Yxy<Wp, T>> for Lab<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Yxy<Wp, T>> for Alpha<Lab<Wp, T>, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Yxy<Wp, T>> for Lch<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Yxy<Wp, T>> for Alpha<Lch<Wp, T>, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Alpha<Luma<S, T>, T> where
    T: Component,
    S: LumaStandard,
    T: Component + Float
[src]

Performs the conversion.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Luma<S, T> where
    S: LumaStandard,
    T: Component + Float
[src]

Performs the conversion.

impl<S: RgbStandard, T: Component> From<Yxy<<S::Space as RgbSpace>::WhitePoint, T>> for Rgb<S, T> where
    T: Component + Float
[src]

Performs the conversion.

impl<S: RgbStandard, T: Component> From<Yxy<<S::Space as RgbSpace>::WhitePoint, T>> for Alpha<Rgb<S, T>, T> where
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Yxy<Wp, T>> for Alpha<Xyz<Wp, T>, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Yxy<Wp, T>> for Xyz<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

Performs the conversion.

impl<Wp, T> FromColor<Wp, T> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    Wp: WhitePoint
[src]

Convert from XYZ color space

Convert from Yxy color space

Convert from Luma

Convert from Lab* color space

Convert from LCh° color space

Convert from RGB color space

Convert from HSL color space

Convert from HSV color space

Convert from HWB color space

impl<Wp, T, _S> From<Rgb<_S, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbStandard,
    _S::Space: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Alpha<Rgb<_S, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbStandard,
    _S::Space: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Alpha<Luma<_S, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: LumaStandard<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Hsl<_S, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Alpha<Hsl<_S, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Hsv<_S, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Alpha<Hsv<_S, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Hwb<_S, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Alpha<Hwb<_S, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T> From<Lab<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Alpha<Lab<Wp, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Lch<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Alpha<Lch<Wp, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Alpha<Xyz<Wp, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T> From<Alpha<Yxy<Wp, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float
[src]

Performs the conversion.

impl<Wp, T, _S> From<Color<_S, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T, _S> From<Alpha<Color<_S, T>, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    T: Component + Float,
    _S: RgbSpace<WhitePoint = Wp>, 
[src]

Performs the conversion.

impl<Wp, T> Pixel<T> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

CHANNELS: usize = 3usize

The number of color channels.

Cast as a reference to raw color components.

Cast as a mutable reference to raw color components.

Convert from raw color components.

Cast from a reference to raw color components.

Cast from a mutable reference to raw color components.

Cast a slice of raw color components to a slice of colors. Read more

Cast a mutable slice of raw color components to a mutable slice of colors. Read more

Cast a slice of colors to a slice of raw color components. Read more

Cast a mutable slice of colors to a mutable slice of raw color components. Read more

impl<Wp: Debug, T: Debug> Debug for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

Formats the value using the given formatter. Read more

impl<Wp: PartialEq, T: PartialEq> PartialEq for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<Wp, T> Copy for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

impl<Wp, T> Clone for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<Wp, T> From<Xyz<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

Performs the conversion.

impl<S, T> From<Luma<S, T>> for Yxy<S::WhitePoint, T> where
    T: Component + Float,
    S: LumaStandard
[src]

Performs the conversion.

impl<Wp: WhitePoint, T: Component + Float> From<(T, T, T)> for Yxy<Wp, T>
[src]

Performs the conversion.

impl<Wp: WhitePoint, T: Component + Float> Into<(T, T, T)> for Yxy<Wp, T>
[src]

Performs the conversion.

impl<Wp, T> Limited for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

Check if the color's components are within the expected ranges.

Return a new color where the components has been clamped to the nearest valid values. Read more

Clamp the color's components to the nearest valid values.

impl<Wp, T> Mix for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The type of the mixing factor.

Mix the color with an other color, by factor. Read more

impl<Wp, T> Shade for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The type of the lighten/darken amount.

Lighten the color by amount.

Darken the color by amount.

impl<Wp, T> ComponentWise for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The scalar type for color components.

Perform a binary operation on this and an other color.

Perform a unary operation on this color.

impl<Wp, T> Default for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

Returns the "default value" for a type. Read more

impl<Wp, T> Add<Yxy<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl<Wp, T> Add<T> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl<Wp, T> Sub<Yxy<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<Wp, T> Sub<T> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl<Wp, T> Mul<Yxy<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl<Wp, T> Mul<T> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl<Wp, T> Div<Yxy<Wp, T>> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<Wp, T> Div<T> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl<Wp, T, P: ?Sized> AsRef<P> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    P: RawPixel<T>, 
[src]

Performs the conversion.

impl<Wp, T, P: ?Sized> AsMut<P> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint,
    P: RawPixel<T>, 
[src]

Performs the conversion.

impl<Wp, T> IntoColor<Wp, T> for Yxy<Wp, T> where
    T: Component + Float,
    Wp: WhitePoint
[src]

Convert into XYZ space

Convert into Yxy color space

Convert into Lab* color space

Convert into LCh° color space

Convert into RGB color space.

Convert into HSL color space

Convert into HSV color space

Convert into Luma

Convert into HWB color space

impl<Wp, T> ApproxEq for Yxy<Wp, T> where
    T: Component + Float + ApproxEq,
    T::Epsilon: Copy + Float,
    Wp: WhitePoint
[src]

Used for specifying relative comparisons.

The default tolerance to use when testing values that are close together. Read more

The default relative tolerance for testing values that are far-apart. Read more

The default ULPs to tolerate when testing values that are far-apart. Read more

A test for equality that uses a relative comparison if the values are far apart.

A test for equality that uses units in the last place (ULP) if the values are far apart.

The inverse of ApproxEq::relative_eq.

The inverse of ApproxEq::ulps_eq.

impl<S, T> From<Yxy<S::WhitePoint, T>> for Color<S, T> where
    T: Float + Component,
    S: RgbSpace
[src]

Performs the conversion.

Auto Trait Implementations

impl<Wp, T> Send for Yxy<Wp, T> where
    T: Send,
    Wp: Send

impl<Wp, T> Sync for Yxy<Wp, T> where
    T: Sync,
    Wp: Sync