diff --git a/src/lib.rs b/src/lib.rs index 2ea98a4..de43bab 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,11 +1,12 @@ use image::RgbaImage; -use palette::{Hsl, IntoColor, Lab, LinSrgb, Oklab, Srgb}; +use palette::{Hsl, Hsv, IntoColor, Lab, LinSrgb, Oklab, Srgb}; #[derive(Clone, Copy, PartialEq, Eq)] pub enum BwMethod { SrgbAverage, LinSrgbAverage, Hsl, + Hsv, Cielab, Oklab, } @@ -27,6 +28,11 @@ impl BwMethod { pixel.saturation = 0.0; pixel.into_color() } + Self::Hsv => { + let mut pixel: Hsv = pixel.into_color(); + pixel.saturation = 0.0; + pixel.into_color() + } Self::Cielab => { let mut pixel: Lab = pixel.into_color(); pixel.a = 0.5; diff --git a/src/main.rs b/src/main.rs index 9c7be13..e2b1a4f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,6 +11,7 @@ enum BwMethod { SrgbAverage, LinSrgbAverage, Hsl, + Hsv, Cielab, Oklab, } @@ -21,6 +22,7 @@ impl From for mark::BwMethod { BwMethod::SrgbAverage => mark::BwMethod::SrgbAverage, BwMethod::LinSrgbAverage => mark::BwMethod::LinSrgbAverage, BwMethod::Hsl => mark::BwMethod::Hsl, + BwMethod::Hsv => mark::BwMethod::Hsv, BwMethod::Cielab => mark::BwMethod::Cielab, BwMethod::Oklab => mark::BwMethod::Oklab, }