[−][src]Trait prisma::FromColor
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
Implementors
impl<C, E, C2> FromColor<EncodedColor<C2, E>> for EncodedColor<C, E> where
C: Color + FromColor<C2> + EncodableColor,
E: ColorEncoding,
C2: EncodableColor,
[src]
C: Color + FromColor<C2> + EncodableColor,
E: ColorEncoding,
C2: EncodableColor,
fn from_color(from: &EncodedColor<C2, E>) -> Self
[src]
impl<T> FromColor<Rgb<T>> for Rgi<T> where
T: PosNormalChannelScalar + Float,
[src]
T: PosNormalChannelScalar + Float,
fn from_color(from: &Rgb<T>) -> Self
[src]
impl<T> FromColor<Rgi<T>> for Rgb<T> where
T: PosNormalChannelScalar + Float,
[src]
T: PosNormalChannelScalar + Float,
fn from_color(from: &Rgi<T>) -> Self
[src]
impl<T> FromColor<XyY<T>> for Xyz<T> where
T: FreeChannelScalar + PosNormalChannelScalar + Float,
[src]
T: FreeChannelScalar + PosNormalChannelScalar + Float,
fn from_color(from: &XyY<T>) -> Self
[src]
impl<T> FromColor<Xyz<T>> for XyY<T> where
T: FreeChannelScalar + PosNormalChannelScalar + Float,
[src]
T: FreeChannelScalar + PosNormalChannelScalar + Float,
fn from_color(from: &Xyz<T>) -> Self
[src]
impl<T, A> FromColor<Hsl<T, A>> for Rgb<T> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
fn from_color(from: &Hsl<T, A>) -> Self
[src]
impl<T, A> FromColor<Hsv<T, A>> for Hwb<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
fn from_color(from: &Hsv<T, A>) -> Self
[src]
impl<T, A> FromColor<Hsv<T, A>> for Rgb<T> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
fn from_color(from: &Hsv<T, A>) -> Self
[src]
impl<T, A> FromColor<Hwb<T, A>> for Hsv<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
fn from_color(from: &Hwb<T, A>) -> Self
[src]
impl<T, A> FromColor<Hwb<T, A>> for Rgb<T> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar,
fn from_color(from: &Hwb<T, A>) -> Self
[src]
impl<T, A> FromColor<Rgb<T>> for Hsi<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + Angle<Scalar = T> + FromAngle<Rad<T>>,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + Angle<Scalar = T> + FromAngle<Rad<T>>,
fn from_color(from: &Rgb<T>) -> Self
[src]
impl<T, A> FromColor<Rgb<T>> for Hsl<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + FromAngle<Turns<T>>,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + FromAngle<Turns<T>>,
fn from_color(from: &Rgb<T>) -> Self
[src]
impl<T, A> FromColor<Rgb<T>> for Hsv<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + FromAngle<Turns<T>>,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + FromAngle<Turns<T>>,
fn from_color(from: &Rgb<T>) -> Self
[src]
impl<T, A> FromColor<Rgb<T>> for Hwb<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + FromAngle<Turns<T>>,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + FromAngle<Turns<T>>,
fn from_color(from: &Rgb<T>) -> Self
[src]
impl<T, A> FromColor<Rgb<T>> for eHsi<T, A> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + Angle<Scalar = T> + FromAngle<Rad<T>>,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + Angle<Scalar = T> + FromAngle<Rad<T>>,
fn from_color(from: &Rgb<T>) -> Self
[src]
impl<T, A> FromColor<eHsi<T, A>> for Rgb<T> where
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + Angle<Scalar = T>,
[src]
T: PosNormalChannelScalar + Float,
A: AngularChannelScalar + Angle<Scalar = T>,
fn from_color(from: &eHsi<T, A>) -> Rgb<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]
C: Color + EncodableColor + FromColor<C2>,
C2: Color + EncodableColor,
S: ColorSpace<T> + PartialEq + Clone,
E: ColorEncoding + PartialEq,
T: PartialEq + Clone + Float,
fn from_color(from: &SpacedColor<T, C2, E, S>) -> Self
[src]
impl<T, InnerColor, InnerColor2> FromColor<Alpha<T, InnerColor2>> for Alpha<T, InnerColor> where
T: PosNormalChannelScalar,
InnerColor: Color + FromColor<InnerColor2>,
InnerColor2: Color,
[src]
T: PosNormalChannelScalar,
InnerColor: Color + FromColor<InnerColor2>,
InnerColor2: Color,
fn from_color(from: &Alpha<T, InnerColor2>) -> Self
[src]
impl<T, M> FromColor<Rgb<T>> for YCbCr<T, M> where
T: NormalChannelScalar + PosNormalChannelScalar + NumCast,
M: YCbCrModel<T> + UnitModel<T>,
[src]
T: NormalChannelScalar + PosNormalChannelScalar + NumCast,
M: YCbCrModel<T> + UnitModel<T>,
fn from_color(from: &Rgb<T>) -> YCbCr<T, M>
[src]
impl<T, Model> FromColor<Lms<T, Model>> for Xyz<T> where
T: FreeChannelScalar,
Model: LmsModel<T>,
[src]
T: FreeChannelScalar,
Model: LmsModel<T>,
fn from_color(from: &Lms<T, Model>) -> Self
[src]
impl<T, Model> FromColor<Xyz<T>> for Lms<T, Model> where
T: FreeChannelScalar,
Model: LmsModel<T>,
[src]
T: FreeChannelScalar,
Model: LmsModel<T>,
fn from_color(from: &Xyz<T>) -> Self
[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]
T: FreeChannelScalar,
A: AngularChannelScalar + FromAngle<Rad<T>> + Angle,
W: WhitePoint<T>,
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]
T: FreeChannelScalar,
A: AngularChannelScalar + Angle<Scalar = T>,
W: WhitePoint<T>,
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]
T: FreeChannelScalar,
A: AngularChannelScalar + Angle<Scalar = T>,
W: WhitePoint<T>,
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]
T: FreeChannelScalar,
A: AngularChannelScalar + FromAngle<Rad<T>> + Angle,
W: WhitePoint<T>,
fn from_color(from: &Luv<T, W>) -> Self
[src]
Construct an Lchuv
value from a Lab
value