Crates.io | color-convert |
lib.rs | color-convert |
version | 0.1.0 |
source | src |
created_at | 2018-11-21 04:59:45.549535 |
updated_at | 2018-11-21 04:59:45.549535 |
description | Support RGB,RGBA,HEX,HSL,HSLA,HSV,CMYK to convert each other, write by rust. |
homepage | |
repository | https://github.com/zhouyuexie/color-convert |
max_upload_size | |
id | 97884 |
size | 72,393 |
Convert color to each other by rust.
Add this to the Cargo.toml file of your project:
[dependencies]
color-convert = "0.1.0"
Don't forget to add the external crate:
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()?);
}
Color has three simple configurations:
upper
alpha
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()?);
}
Support RGB
,RGBA
,HEX
,HSL
,HSLA
,HSV
,CMYK
to transform each other.
Their corresponding method is to_rgb
, to_hex
, to_hsl
, to_hsv
, to_cmyk
. For formats that need to be converted to contain transparency values, you need to first set the configuration alpha to true(use method to_alpha
).
transparent
and currentColor
.HEX
and convert back.If you have any questions or suggestions, please contact me via issues or email.
For those who use sublime text, try a similar plugin I wrote for ColorConvert.