[][src]Trait prisma::FromColor

pub trait FromColor<From> {
    fn from_color(from: &From) -> Self;
}

Infallibly convert between two color models

The From trait only apply when not changing color spaces. Thus, Rgb -> XYZ is not supported via FromColor. Additionally, any conversion that may go out of gamut requires a different conversion method or trait.

Required methods

fn from_color(from: &From) -> Self

Construct Self from from

Loading content...

Implementors

impl<C, E, C2> FromColor<EncodedColor<C2, E>> for EncodedColor<C, E> where
    C: Color + FromColor<C2> + EncodableColor,
    E: ColorEncoding,
    C2: EncodableColor
[src]

impl<T> FromColor<Rgb<T>> for Rgi<T> where
    T: PosNormalChannelScalar + Float
[src]

impl<T> FromColor<Rgi<T>> for Rgb<T> where
    T: PosNormalChannelScalar + Float
[src]

impl<T> FromColor<XyY<T>> for Xyz<T> where
    T: FreeChannelScalar + PosNormalChannelScalar + Float
[src]

impl<T> FromColor<Xyz<T>> for XyY<T> where
    T: FreeChannelScalar + PosNormalChannelScalar + Float
[src]

impl<T, A> FromColor<Hsl<T, A>> for Rgb<T> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar
[src]

impl<T, A> FromColor<Hsv<T, A>> for Hwb<T, A> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar
[src]

impl<T, A> FromColor<Hsv<T, A>> for Rgb<T> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar
[src]

impl<T, A> FromColor<Hwb<T, A>> for Hsv<T, A> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar
[src]

impl<T, A> FromColor<Hwb<T, A>> for Rgb<T> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar
[src]

impl<T, A> FromColor<Rgb<T>> for Hsi<T, A> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar + Angle<Scalar = T> + FromAngle<Rad<T>>, 
[src]

impl<T, A> FromColor<Rgb<T>> for Hsl<T, A> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar + FromAngle<Turns<T>>, 
[src]

impl<T, A> FromColor<Rgb<T>> for Hsv<T, A> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar + FromAngle<Turns<T>>, 
[src]

impl<T, A> FromColor<Rgb<T>> for Hwb<T, A> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar + FromAngle<Turns<T>>, 
[src]

impl<T, A> FromColor<Rgb<T>> for eHsi<T, A> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar + Angle<Scalar = T> + FromAngle<Rad<T>>, 
[src]

impl<T, A> FromColor<eHsi<T, A>> for Rgb<T> where
    T: PosNormalChannelScalar + Float,
    A: AngularChannelScalar + Angle<Scalar = T>, 
[src]

impl<T, C, E, S, C2> FromColor<SpacedColor<T, C2, E, S>> for SpacedColor<T, C, E, S> where
    C: Color + EncodableColor + FromColor<C2>,
    C2: Color + EncodableColor,
    S: ColorSpace<T> + PartialEq + Clone,
    E: ColorEncoding + PartialEq,
    T: PartialEq + Clone + Float
[src]

impl<T, InnerColor, InnerColor2> FromColor<Alpha<T, InnerColor2>> for Alpha<T, InnerColor> where
    T: PosNormalChannelScalar,
    InnerColor: Color + FromColor<InnerColor2>,
    InnerColor2: Color
[src]

impl<T, M> FromColor<Rgb<T>> for YCbCr<T, M> where
    T: NormalChannelScalar + PosNormalChannelScalar + NumCast,
    M: YCbCrModel<T> + UnitModel<T>, 
[src]

impl<T, Model> FromColor<Lms<T, Model>> for Xyz<T> where
    T: FreeChannelScalar,
    Model: LmsModel<T>, 
[src]

impl<T, Model> FromColor<Xyz<T>> for Lms<T, Model> where
    T: FreeChannelScalar,
    Model: LmsModel<T>, 
[src]

impl<T, W, A> FromColor<Lab<T, W>> for Lchab<T, W, A> where
    T: FreeChannelScalar,
    A: AngularChannelScalar + FromAngle<Rad<T>> + Angle,
    W: WhitePoint<T>, 
[src]

fn from_color(from: &Lab<T, W>) -> Self[src]

Construct an Lchab value from a Lab value

impl<T, W, A> FromColor<Lchab<T, W, A>> for Lab<T, W> where
    T: FreeChannelScalar,
    A: AngularChannelScalar + Angle<Scalar = T>,
    W: WhitePoint<T>, 
[src]

fn from_color(from: &Lchab<T, W, A>) -> Self[src]

Construct a Lab value from an Lchab value

impl<T, W, A> FromColor<Lchuv<T, W, A>> for Luv<T, W> where
    T: FreeChannelScalar,
    A: AngularChannelScalar + Angle<Scalar = T>,
    W: WhitePoint<T>, 
[src]

fn from_color(from: &Lchuv<T, W, A>) -> Self[src]

Construct a Lab value from an Lchuv value

impl<T, W, A> FromColor<Luv<T, W>> for Lchuv<T, W, A> where
    T: FreeChannelScalar,
    A: AngularChannelScalar + FromAngle<Rad<T>> + Angle,
    W: WhitePoint<T>, 
[src]

fn from_color(from: &Luv<T, W>) -> Self[src]

Construct an Lchuv value from a Lab value

Loading content...