6个版本
0.8.7 | 2022年10月4日 |
---|---|
0.8.2 | 2021年2月10日 |
0.8.1 | 2020年4月29日 |
0.7.0 | 2020年2月22日 |
0.1.0 | 2020年2月21日 |
#612 in 图像
4,657 每月下载量
用于 12 个crate(5个直接使用)
135KB
3.5K SLoC
bracket-color
这个crate为在bracket-terminal
系统中使用提供了一个颜色系统。它是整体bracket-lib
系统的一部分。
使用bracket-color
要获取bracket-color
,请在您的Cargo.toml
文件中包含以下内容
[dependencies]
bracket-color = "~0.8"
RGB
基本结构是RGB
,它将颜色表示为红/绿/蓝组件。您可以通过多种方式构建颜色
new()
提供一个黑色(所有零)条目。from_f32
接受三个浮点数,从0.0
到1.0
。from_u8
接受三个字节,从0
到255
。named
接受一个浮点数元组,有大量预定义的颜色可供选择。(例如,RGB::named(RED)
)。from_hex
接受一个HTML/CSS样式的十六进制数并将其转换为(例如,RGB::from_hex("#aabbcc"))
)。
您还可以转换RGB结构
- 支持在单个浮点数和另一个RGB结构之间进行加、减、乘和除操作。
to_hsv
创建一个色调-饱和度-值颜色。to_greyscale
使用标准的灰度运算来对颜色进行灰度近似。desaturate
通过将颜色转换为HSV并降低饱和度来更好地进行灰度转换。lerp
允许你在RGB空间中平滑地在两种颜色之间过渡。
HSV
HSV系统在HSV空间中提供颜色支持。你可以如下构建一个HSV颜色:
new()
创建一个所有值为零的HSV颜色。from_f32
允许你指定HSV为浮点数。RGB::to_hsv
将RGB颜色转换为HSV颜色。
你也可以使用to_rgb
回到RGB。
ColorPair
ColorPair
是一个简单的辅助结构,它包含前景和背景。
导出
所有内容都通过bracket_color::prelude
命名空间进行导出。
特性标志
- 如果你启用了
serde
特性标志,RGB、HSV和ColorPair结构将派生为Serde
可序列化/反序列化。 rex
特性标志启用RexPaint支持。palette
特性标志启用一个静态(线程安全)的调色板映射,将命名颜色链接到颜色。默认为空(add_named_colors_to_palette
为你添加了所有常量命名颜色,全部小写)。- 如果你启用了
bevy
特性,则启用了Bevy的Color
类型和bracket-color
类型之间的转换。
示例
有一些示例可以帮助你入门。它们使用crossterm
进行终端输出。你可以使用以下命令运行示例:cargo run --example <name>
。
lerp
是一个简单的颜色lerp。lerpit
是基于迭代器的lerp。lerpit_hsv
是HSV lerp。named_colors
展示了如何访问命名颜色。shades_of_grey
展示了灰度和去饱和度函数。colors
展示了获取颜色的各种方式。
依赖项
~0–18MB
~217K SLoC