diff --git a/src/get_colors.rs b/src/get_colors.rs
index 6243a3b..481b4ed 100644
--- a/src/get_colors.rs
+++ b/src/get_colors.rs
@@ -24,11 +24,12 @@ fn remove_duplicates(colors: Vec<(u8, u8, u8)>) -> Vec<(u8, u8, u8)> {
let set: HashSet<_> = colors.into_iter().collect();
set.into_iter().collect()
}
-
-fn to_gray(r: u8, g: u8, b: u8, v: u8) -> (u8, u8, u8) {
- let mut gray = (0.3 * r as f32 + 0.59 * g as f32 + 0.11 * b as f32).round() as u8;
- gray = gray.saturating_add(v);
- (gray, gray, gray)
+fn to_gray(r: u8, g: u8, b: u8, v: f32) -> (u8, u8, u8) {
+ (
+ (r as f32 + (255.0 - r as f32) * v) as u8,
+ (g as f32 + (255.0 - g as f32) * v) as u8,
+ (b as f32 + (255.0 - b as f32) * v) as u8,
+ )
}
fn generate_variation(color: (u8, u8, u8), offset: i8) -> (u8, u8, u8) {
@@ -148,9 +149,15 @@ pub fn get_colors(
let (mut r, mut g, mut b) = collect_rgb[20];
(r, g, b) = adjust_rgb(r, g, b, 40, 60);
- (r, g, b) = to_gray(r, g, b, 15);
+ println!("before: #{:02x}{:02x}{:02x}", r, g, b);
+ (r, g, b) = to_gray(r, g, b, 0.4);
+ println!("after : #{:02x}{:02x}{:02x}", r, g, b);
done[7] = (r, g, b);
done[15] = (r, g, b);
-
+ //
+ // for color in &done {
+ // println!("#{:02x}{:02x}{:02x}", color.0, color.1, color.2,)
+ // }
+ //
(done, *alpha)
}