Trait palette::GetHue[][src]

pub trait GetHue {
    type Hue;
    fn get_hue(&self) -> Option<Self::Hue>;
}

A trait for colors where a hue may be calculated.

use approx::assert_relative_eq;
use palette::{GetHue, LinSrgb};

let red = LinSrgb::new(1.0f32, 0.0, 0.0);
let green = LinSrgb::new(0.0f32, 1.0, 0.0);
let blue = LinSrgb::new(0.0f32, 0.0, 1.0);
let gray = LinSrgb::new(0.5f32, 0.5, 0.5);

assert_relative_eq!(red.get_hue().unwrap(), 0.0.into());
assert_relative_eq!(green.get_hue().unwrap(), 120.0.into());
assert_relative_eq!(blue.get_hue().unwrap(), 240.0.into());
assert_eq!(gray.get_hue(), None);

Associated Types

type Hue[src]

The kind of hue unit this color space uses.

The hue is most commonly calculated as an angle around a color circle and may not always be uniform between color spaces. It’s therefore not recommended to take one type of hue and apply it to a color space that expects an other.

Loading content...

Required methods

fn get_hue(&self) -> Option<Self::Hue>[src]

Calculate a hue if possible.

Colors in the gray scale has no well defined hue and should preferably return None.

Loading content...

Implementors

impl<C: GetHue, T> GetHue for Alpha<C, T>[src]

type Hue = C::Hue

impl<S, T> GetHue for Rgb<S, T> where
    S: RgbStandard<TransferFn = LinearFn>,
    T: FloatComponent
[src]

type Hue = RgbHue<T>

impl<S, T> GetHue for Hsl<S, T> where
    T: FloatComponent,
    S: RgbStandard
[src]

type Hue = RgbHue<T>

impl<S, T> GetHue for Hsv<S, T> where
    T: FloatComponent,
    S: RgbStandard
[src]

type Hue = RgbHue<T>

impl<S, T> GetHue for Hwb<S, T> where
    T: FloatComponent,
    S: RgbStandard
[src]

type Hue = RgbHue<T>

impl<Wp, T> GetHue for Hsluv<Wp, T> where
    T: FloatComponent,
    Wp: WhitePoint
[src]

type Hue = LuvHue<T>

impl<Wp, T> GetHue for Lab<Wp, T> where
    T: FloatComponent,
    Wp: WhitePoint
[src]

type Hue = LabHue<T>

impl<Wp, T> GetHue for Lch<Wp, T> where
    T: FloatComponent,
    Wp: WhitePoint
[src]

type Hue = LabHue<T>

impl<Wp, T> GetHue for Lchuv<Wp, T> where
    T: FloatComponent,
    Wp: WhitePoint
[src]

type Hue = LuvHue<T>

impl<Wp, T> GetHue for Luv<Wp, T> where
    T: FloatComponent,
    Wp: WhitePoint
[src]

type Hue = LuvHue<T>

Loading content...