Add hsv bw algorithm
This commit is contained in:
parent
b71974c440
commit
be3fbc635e
2 changed files with 9 additions and 1 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ enum BwMethod {
|
|||
SrgbAverage,
|
||||
LinSrgbAverage,
|
||||
Hsl,
|
||||
Hsv,
|
||||
Cielab,
|
||||
Oklab,
|
||||
}
|
||||
|
|
@ -21,6 +22,7 @@ impl From<BwMethod> 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,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue