#rgba #interpolation #gradient #color #compile-time

color-gradient

颜色渐变和颜色插值

4个版本

0.1.3 2023年5月4日
0.1.2 2023年4月27日
0.1.1 2023年3月28日
0.0.0 2023年3月27日

#9 in #rgba

每月 21 次下载

MPL-2.0 许可证

96KB
1.5K SLoC

Rust颜色

编译时颜色解析

use color::{rgba, RGBA};

#[test]
fn test_rgba() {
    assert_eq!(rgba!("#334D6677"), RGBA::new(51, 76, 102));
    assert_eq!(rgba!("rgba(51, 77, 102, .5)"), RGBA::new(51, 77, 102, 127));
    assert_eq!(rgba!("rgba(20% 30% 40% 50%)"), RGBA::new(51, 77, 102, 127));
}

success

编译时错误报告

// Invalid hex pattern, can take 3,4,6,8 hex number only
rgba!("#34678");

failure

严格检查模式

features = ["strict"]

通常有效模式比指定模式宽松,严格模式拒绝所有非CSS级别3的输入

// will not panic by default
rgba!("rgba(10 10 10, 10)");

依赖

~0.4–3.5MB
~25K SLoC