pub struct Cmyk { /* private fields */ }
Expand description
The CMYK color model.
Has cyan, magenta, yellow, key (0.0..100.0) and optional alpha
channel (0.0..1.0).
Example
use colorsys::Cmyk;
let mut cmyk = Cmyk::new(33.1, 999.9, 11.0, 0.0, None);
assert_eq!(cmyk.cyan(), 33.1);
assert_eq!(cmyk.magenta(), 100.0);
cmyk.set_yellow(73.0);
assert_eq!(cmyk.yellow(), 73.0);
let doubled_cmyk = &cmyk + &cmyk;
let units: [f64;4] = doubled_cmyk.into();
assert_eq!(units, [66.2,100.0,100.0,0.0]);
Implementations§
source§impl Cmyk
impl Cmyk
pub fn new(c: f64, m: f64, y: f64, k: f64, a: Option<f64>) -> Self
pub fn cyan(&self) -> f64
pub fn magenta(&self) -> f64
pub fn yellow(&self) -> f64
pub fn key(&self) -> f64
pub fn set_cyan(&mut self, c: f64)
pub fn set_magenta(&mut self, m: f64)
pub fn set_yellow(&mut self, y: f64)
pub fn set_key(&mut self, k: f64)
sourcepub fn as_rgb(&self) -> Rgb
pub fn as_rgb(&self) -> Rgb
Returns same color in RGB color model
Example
use colorsys::{Cmyk, Rgb, ApproxEq};
let cmyk = Cmyk::from(&[0.0,0.0,100.0,0.0]);
let rgb_from_cmyk = cmyk.as_rgb();
assert!(rgb_from_cmyk.approx_eq(&Rgb::from([255,255,0])));
pub fn as_ratio(&self) -> CmykRatio
Trait Implementations§
source§impl AddAssign<Cmyk> for Cmyk
impl AddAssign<Cmyk> for Cmyk
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl PartialEq<Cmyk> for Cmyk
impl PartialEq<Cmyk> for Cmyk
source§impl SubAssign<Cmyk> for Cmyk
impl SubAssign<Cmyk> for Cmyk
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read more