[][src]Struct nannou::prelude::Hsv

pub struct Hsv<T = f32> where
    T: Float
{ pub hue: RgbHue<T>, pub saturation: T, pub value: T, }

Linear HSV color space.

HSV is a cylindrical version of RGB and it's very similar to HSL. The difference is that the value component in HSV determines the brightness of the color, and not the lightness. The difference is that, for example, red (100% R, 0% G, 0% B) and white (100% R, 100% G, 100% B) has the same brightness (or value), but not the same lightness.

Fields

hue: RgbHue<T>

The hue of the color, in degrees. Decides if it's red, blue, purple, etc.

saturation: T

The colorfulness of the color. 0.0 gives gray scale colors and 1.0 will give absolutely clear colors.

value: T

Decides how bright the color will look. 0.0 will be black, and 1.0 will give a bright an clear color that goes towards white when saturation goes towards 0.0.

Methods

impl<T> Hsv<T> where
    T: Float
[src]

pub fn new(hue: RgbHue<T>, saturation: T, value: T) -> Hsv<T>[src]

Linear HSV.

Trait Implementations

impl<T> IntoColor<T> for Hsv<T> where
    T: Float
[src]

fn into_hwb(self) -> Hwb<T>[src]

Convert into HWB color space

impl<T> ApproxEq for Hsv<T> where
    T: ApproxEq + Float,
    <T as ApproxEq>::Epsilon: Copy,
    <T as ApproxEq>::Epsilon: Float
[src]

type Epsilon = <T as ApproxEq>::Epsilon

Used for specifying relative comparisons.

impl<T> From<Hsv<T>> for Alpha<Rgb<T>, T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Rgb<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Alpha<Yxy<T>, T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Color<T> where
    T: Float
[src]

impl<T> From<Rgb<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Alpha<Luma<T>, T> where
    T: Float
[src]

impl<T> From<Luma<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Yxy<T> where
    T: Float
[src]

impl<T> From<Alpha<Hwb<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Alpha<Luma<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Hwb<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Alpha<Hwb<T>, T> where
    T: Float
[src]

impl<T> From<Alpha<Hsv<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Color<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Alpha<Hsl<T>, T> where
    T: Float
[src]

impl<T> From<Lch<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Luma<T> where
    T: Float
[src]

impl<T> From<Alpha<Xyz<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Lch<T> where
    T: Float
[src]

impl<T> From<Alpha<Lch<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Alpha<Lab<T>, T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Alpha<Xyz<T>, T> where
    T: Float
[src]

impl<T> From<Lab<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Alpha<Hsl<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsl<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Hsl<T> where
    T: Float
[src]

impl<T> From<Yxy<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Alpha<Rgb<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Alpha<Lch<T>, T> where
    T: Float
[src]

impl<T> From<Hwb<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Xyz<T> where
    T: Float
[src]

impl<T> From<Alpha<Lab<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Xyz<T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Alpha<Yxy<T>, T>> for Hsv<T> where
    T: Float
[src]

impl<T> From<Hsv<T>> for Lab<T> where
    T: Float
[src]

impl<T> Limited for Hsv<T> where
    T: Float
[src]

impl<T> Default for Hsv<T> where
    T: Float
[src]

impl<T> FromColor<T> for Hsv<T> where
    T: Float
[src]

fn from_yxy(inp: Yxy<T>) -> Self[src]

Convert from Yxy color space

fn from_lab(inp: Lab<T>) -> Self[src]

Convert from Lab* color space

fn from_lch(inp: Lch<T>) -> Self[src]

Convert from LCh° color space

fn from_luma(inp: Luma<T>) -> Self[src]

Convert from Luma

impl<T> Shade for Hsv<T> where
    T: Float
[src]

type Scalar = T

The type of the lighten/darken amount.

fn darken(&self, amount: Self::Scalar) -> Self[src]

Darken the color by amount.

impl<T> Debug for Hsv<T> where
    T: Debug + Float
[src]

impl<T> Copy for Hsv<T> where
    T: Copy + Float
[src]

impl<T> Mix for Hsv<T> where
    T: Float
[src]

type Scalar = T

The type of the mixing factor.

impl<T> PartialEq<Hsv<T>> for Hsv<T> where
    T: PartialEq<T> + Float
[src]

impl<T> Add<T> for Hsv<T> where
    T: Float
[src]

type Output = Hsv<T>

The resulting type after applying the + operator.

impl<T> Add<Hsv<T>> for Hsv<T> where
    T: Float
[src]

type Output = Hsv<T>

The resulting type after applying the + operator.

impl<T> Hue for Hsv<T> where
    T: Float
[src]

impl<T> Sub<T> for Hsv<T> where
    T: Float
[src]

type Output = Hsv<T>

The resulting type after applying the - operator.

impl<T> Sub<Hsv<T>> for Hsv<T> where
    T: Float
[src]

type Output = Hsv<T>

The resulting type after applying the - operator.

impl<T> Saturate for Hsv<T> where
    T: Float
[src]

type Scalar = T

The type of the (de)saturation factor.

fn desaturate(&self, factor: Self::Scalar) -> Self[src]

Decrease the saturation by factor.

impl<T> GetHue for Hsv<T> where
    T: Float
[src]

type Hue = RgbHue<T>

The kind of hue unit this color space uses. Read more

impl<T> Clone for Hsv<T> where
    T: Clone + Float
[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<S> IntoRgba<S> for Hsv<S> where
    S: Float + One
[src]

Auto Trait Implementations

impl<T> Send for Hsv<T> where
    T: Send

impl<T> Sync for Hsv<T> where
    T: Sync

Blanket Implementations

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Style for T where
    T: Any + Debug + PartialEq<T>, 
[src]

impl<T> Content for T[src]

impl<T> SafeBorrow<T> for T[src]

impl<T> Erased for T

impl<S> FromSample<S> for S[src]

impl<T, U> ToSample<U> for T where
    U: FromSample<T>, 
[src]

impl<S, T> Duplex<S> for T where
    T: FromSample<S> + ToSample<S>, 
[src]

impl<T> SetParameter for T

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 

Sets value as a parameter of self.

impl<T> SetParameter for T

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 

Sets value as a parameter of self.