#color-space #color #color-string #art

bin+lib color-art

Rust 库,用于处理颜色和颜色空间

31 个版本

0.3.8 2024 年 3 月 31 日
0.3.7 2023 年 9 月 20 日
0.3.5 2023 年 8 月 30 日
0.3.2 2023 年 6 月 27 日
0.2.0 2022 年 12 月 30 日

#54 in 图像

Download history 3/week @ 2024-04-29 11/week @ 2024-05-20 20/week @ 2024-05-27 22/week @ 2024-06-03 20/week @ 2024-06-10 13/week @ 2024-06-17 19/week @ 2024-06-24 13/week @ 2024-07-08 15/week @ 2024-07-15 18/week @ 2024-07-22 16/week @ 2024-07-29 23/week @ 2024-08-05 46/week @ 2024-08-12

每月 104 次下载
7 crate 中使用

MIT 许可证

175KB
4K SLoC


ColorArt - A rust crate for working with colors and color spaces.

Color Art

用于处理颜色和颜色空间的 Rust crate。

github crates.io docs.rs


文档

查看 Color Art

用法

添加依赖

[dependencies]
color-art = "0.3"

颜色生成器

从字符串创建颜色

您可以使用 from_str 方法从一个字符串构造一个颜色。

当前支持的颜色格式
  • rgb / rgba
  • 十六进制
  • hsl / hsla
  • hsv
  • hsi
  • hwb
  • cmyk
  • xyz
  • yiq
  • yuv
  • YCbCr
  • lab
  • 命名颜色
例如
use color_art::Color;
use std::str::FromStr;

let color = Color::from_str("rgb(255, 255, 0)").unwrap();
let color = Color::from_str("rgba(255, 255, 0, 0.5)").unwrap();
let color = Color::from_str("#ffff00").unwrap();
let color = Color::from_str("hsl(60, 100%, 50%)").unwrap();
let color = Color::from_str("hsla(60, 100%, 50%, 0.6)").unwrap();
let color = Color::from_str("hsv(60, 100%, 100%)").unwrap();
let color = Color::from_str("hsi(60, 100%, 66.67%)").unwrap();
let color = Color::from_str("hwb(60, 0%, 0%)").unwrap();
let color = Color::from_str("cmyk(0%, 0%, 100%, 0%)").unwrap();
let color = Color::from_str("xyz(0.769975, 0.927808, 0.138526)").unwrap();
let color = Color::from_str("yiq(0.886, 0.32126, -0.31114)").unwrap();
let color = Color::from_str("yuv(0.886, -0.4359, 0.1)").unwrap();
let color = Color::from_str("YCbCr(225.93, 0.5755, 148.7269)").unwrap();
let color = Color::from_str("lab(97.14, -21.55, 94.48)").unwrap();
let color = Color::from_str("yellow").unwrap();

从数字创建颜色

您可以使用 from_num 方法从一个数字构造一个颜色。

例如

use color_art::Color;

let color = Color::from_num(16776960).unwrap();
let color = Color::from_num(0xffff00).unwrap();

从名称创建颜色

您可以使用 from_name 方法从一个名称构造一个颜色。

例如

use color_art::Color;

let color = Color::from_name("yellow").unwrap();

从颜色空间创建颜色

您可以使用 from_<color_space> 方法从一个颜色空间构造一个颜色。

当前支持的颜色空间

  • rgb
  • rgba
  • hsl
  • hsv
  • cmyk
  • 十六进制

未来还将支持更多颜色空间。

例如

use color_art::Color;

let color = Color::from_rgb(255, 255, 0).unwrap();
let color = Color::from_rgba(255, 255, 0, 0.5).unwrap();
let color = Color::from_hsl(60.0, 1.0, 0.5).unwrap();
let color = Color::from_hsv(60.0, 1.0, 1.0).unwrap();
let color = Color::from_cmyk(0.0, 0.0, 1.0, 0.0).unwrap();
let color = Color::from_hex("#ffff00").unwrap();

更多示例请参阅 从颜色空间构造

其他颜色生成方法

  • random - 生成一个随机颜色。
  • mix - 混合两种颜色。
  • blend - 使用混合模式混合两种颜色。
  • average - 计算颜色列表的平均值。

颜色转换

将颜色转换为字符串

将颜色转换为字符串。

请参阅 从字符串构造

颜色通道

提取颜色通道。

参考颜色通道

颜色操作

颜色操作函数。

参考颜色操作


JiatLn用❤️制作。

许可证

MIT许可证 © 2022-至今 JiatLn

依赖项

~0.6–1.3MB
~27K SLoC