更正生成颜色序列不正常循环的问题。
This commit is contained in:
parent
353ed817b2
commit
a1e04b846b
|
@ -1,4 +1,4 @@
|
||||||
use std::str::FromStr;
|
use std::{str::FromStr, sync::Arc};
|
||||||
|
|
||||||
use palette::{
|
use palette::{
|
||||||
cam16::{Cam16Jch, Parameters},
|
cam16::{Cam16Jch, Parameters},
|
||||||
|
@ -309,17 +309,17 @@ pub fn series(
|
||||||
let origin_color = Srgb::from_str(color)
|
let origin_color = Srgb::from_str(color)
|
||||||
.map_err(|_| errors::ColorError::UnrecogniazedRGB(color.to_string()))?
|
.map_err(|_| errors::ColorError::UnrecogniazedRGB(color.to_string()))?
|
||||||
.into_format::<f32>();
|
.into_format::<f32>();
|
||||||
let oklch = Oklch::from_color(origin_color.clone());
|
let oklch = Arc::new(Oklch::from_color(origin_color.clone()));
|
||||||
|
|
||||||
let mut color_series = Vec::new();
|
let mut color_series = Vec::new();
|
||||||
for s in expand_amount..=1 {
|
for s in (1..=expand_amount).rev() {
|
||||||
let darkened_color = oklch.darken(s as f32 * step);
|
let darkened_color = Arc::clone(&oklch).darken(s as f32 * step);
|
||||||
let srgb = Srgb::from_color(darkened_color);
|
let srgb = Srgb::from_color(darkened_color);
|
||||||
color_series.push(format!("{:x}", srgb.into_format::<u8>()));
|
color_series.push(format!("{:x}", srgb.into_format::<u8>()));
|
||||||
}
|
}
|
||||||
color_series.push(format!("{:x}", origin_color.into_format::<u8>()));
|
color_series.push(format!("{:x}", origin_color.into_format::<u8>()));
|
||||||
for s in 1..=expand_amount {
|
for s in 1..=expand_amount {
|
||||||
let lightened_color = oklch.lighten(s as f32 * step);
|
let lightened_color = Arc::clone(&oklch).lighten(s as f32 * step);
|
||||||
let srgb = Srgb::from_color(lightened_color);
|
let srgb = Srgb::from_color(lightened_color);
|
||||||
color_series.push(format!("{:x}", srgb.into_format::<u8>()));
|
color_series.push(format!("{:x}", srgb.into_format::<u8>()));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user