Trait palette::Mix
[−]
[src]
pub trait Mix { type Scalar: Float; fn mix(&self, other: &Self, factor: Self::Scalar) -> Self; }
A trait for linear color interpolation.
use palette::{LinSrgb, Mix}; let a = LinSrgb::new(0.0, 0.5, 1.0); let b = LinSrgb::new(1.0, 0.5, 0.0); assert_eq!(a.mix(&b, 0.0), a); assert_eq!(a.mix(&b, 0.5), LinSrgb::new(0.5, 0.5, 0.5)); assert_eq!(a.mix(&b, 1.0), b);
Associated Types
Required Methods
fn mix(&self, other: &Self, factor: Self::Scalar) -> Self
Mix the color with an other color, by factor
.
factor
sould be between 0.0
and 1.0
, where 0.0
will result in
the same color as self
and 1.0
will result in the same color as
other
.
Implementors
impl<C: Mix> Mix for PreAlpha<C, C::Scalar> type Scalar = C::Scalar;
impl<C: Mix> Mix for Alpha<C, C::Scalar> type Scalar = C::Scalar;
impl<S, T> Mix for Rgb<S, T> where
S: RgbStandard<TransferFn = LinearFn>,
T: Float, type Scalar = T;impl<Wp, T> Mix for Luma<Wp, T> where
T: Float,
Wp: WhitePoint, type Scalar = T;impl<Wp, T> Mix for Yxy<Wp, T> where
T: Float,
Wp: WhitePoint, type Scalar = T;impl<Wp, T> Mix for Xyz<Wp, T> where
T: Float,
Wp: WhitePoint, type Scalar = T;impl<Wp, T> Mix for Lab<Wp, T> where
T: Float,
Wp: WhitePoint, type Scalar = T;impl<Wp, T> Mix for Lch<Wp, T> where
T: Float,
Wp: WhitePoint, type Scalar = T;impl<S, T> Mix for Hsv<S, T> where
T: Float,
S: RgbSpace, type Scalar = T;impl<S, T> Mix for Hsl<S, T> where
T: Float,
S: RgbSpace, type Scalar = T;impl<S, T> Mix for Hwb<S, T> where
T: Float,
S: RgbSpace, type Scalar = T;impl<S, T> Mix for Color<S, T> where
T: Float,
S: RgbSpace, type Scalar = T;