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

Download history 260/week @ 2024-05-04 312/week @ 2024-05-11 407/week @ 2024-05-18 446/week @ 2024-05-25 465/week @ 2024-06-01 416/week @ 2024-06-08 490/week @ 2024-06-15 396/week @ 2024-06-22 374/week @ 2024-06-29 241/week @ 2024-07-06 193/week @ 2024-07-13 178/week @ 2024-07-20 280/week @ 2024-07-27 229/week @ 2024-08-03 186/week @ 2024-08-10 96/week @ 2024-08-17

每月下载量817
3 个crate中使用

MIT许可证

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

无运行时依赖