13个版本
0.5.4 | 2024年6月28日 |
---|---|
0.5.3 | 2020年10月28日 |
0.5.2 | 2020年9月12日 |
0.4.3 | 2020年9月11日 |
0.1.0 | 2020年9月11日 |
在算法分类中排名#233
每月下载量817次
在 3 个crate中使用
29KB
785 行
更新
此crate不再受支持,也不建议使用。如果您想找到一个出色的颜色管理和转换crate,我推荐您查看palette crate!
https://crates.io/crates/palette
它实现了这个crate的目标,具有所有相同的特性,甚至更多,但代码库更优雅、更灵活。
lib.rs
:
一个颜色空间转换和比较库,移植自https://github.com/berendeanicolae/ColorSpace。
颜色转换
您可以使用from
trait方法在任意支持的色彩空间之间进行转换
use color_space::{Rgb, Hsv};
let rgb = Rgb::new(0.0, 255.0, 0.0);
let hsv = Hsv::from(rgb);
assert_eq!(hsv, Hsv::new(120.0, 1.0, 1.0));
您也可以使用from_color
方法进行泛型转换
use color_space::{Rgb, Hsv, FromColor};
let rgb = Rgb::new(0.0, 0.0, 255.0);
let hsv = Hsv::from_color(&rgb);
assert_eq!(hsv, Hsv::new(240.0, 1.0, 1.0));
比较颜色
您可以使用compare_*
方法来比较颜色
use color_space::{Rgb, Hsv, CompareCie2000};
let rgb = Rgb::new(255.0, 0.0, 0.0);
let hsv = Hsv::new(0.0, 1.0, 1.0);
let diff = rgb.compare_cie2000(&hsv);
assert_eq!(diff, 0.0);
// these two colors are the same, so the difference is zero