1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年11月21日 |
---|
#1530 在 文本处理
39KB
1K SLoC
color-convert
使用Rust将颜色相互转换。
安装
将此添加到您的项目Cargo.toml文件中
[dependencies]
color-convert = "0.1.0"
别忘了添加外部包
extern crate color_convert;
入门指南
extern crate color_convert;
use color_convert::color::{Color, Error};
fn main() -> Result<(), Error> {
let mut color = Color::init("#c8c8c8ff", false, false, false);
// or just
let mut color = Color::new("#c8c8c8ff");
assert_eq!("rgb(200,200,200)", color.to_rgb()?);
}
设置
颜色有三个简单的配置
- 是否为大写:
upper
- 是否包含透明度:
alpha
- 是否为Android格式(仅使用十六进制):
andriod
// ...
fn main() -> Result<(), Error> {
let mut color = Color::new("#c8c8c8ff");
// you can change some config
assert_eq!("RGB(200,200,200)", color.to_upper(true).to_rgb()?);
assert_eq!("RGBA(200,200,200,1)", color.to_alpha(true).to_rgb()?);
assert_eq!("RGBA(200,200,255,0.78)", color.to_android(true).to_rgb()?);
}
特性
支持RGB
、RGBA
、HEX
、HSL
、HSLA
、HSV
、CMYK
相互转换。
对应的方法是to_rgb
、to_hex
、to_hsl
、to_hsv
、to_cmyk
。对于需要转换包含透明度值的格式,您需要先将配置alpha设置为true(使用方法to_alpha
)。
注意
- 在将某些精度值转换为CMYK和HSV时,某些值会丢失,这是算法的结果,所以在使用时请小心。
- 不支持CSS3颜色:
transparent
和currentColor
。
接下来
- 将支持CSS3颜色名称转换为
HEX
并转换回。
帮助
如果您有任何问题或建议,请通过问题或电子邮件与我联系。
对于使用Sublime Text的用户,尝试我为ColorConvert编写的类似插件。
依赖关系
~2–3MB
~53K SLoC