Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Canop/coolor
tiny color conversion library for TUI application builders
https://github.com/Canop/coolor
Last synced: about 1 month ago
JSON representation
tiny color conversion library for TUI application builders
- Host: GitHub
- URL: https://github.com/Canop/coolor
- Owner: Canop
- License: mit
- Created: 2021-11-10T18:22:55.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-12T08:47:14.000Z (4 months ago)
- Last Synced: 2024-09-17T13:52:26.744Z (3 months ago)
- Language: Rust
- Size: 180 KB
- Stars: 19
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ratatui - coolor - Tiny color conversion library for TUI application builders. (📦 Libraries / 🔧 Utilities)
README
[![MIT][s2]][l2] [![Latest Version][s1]][l1] [![docs][s3]][l3] [![Chat on Miaou][s4]][l4]
[s1]: https://img.shields.io/crates/v/coolor.svg
[l1]: https://crates.io/crates/coolor[s2]: https://img.shields.io/badge/license-MIT-blue.svg
[l2]: LICENSE[s3]: https://docs.rs/coolor/badge.svg
[l3]: https://docs.rs/coolor/[s4]: https://miaou.dystroy.org/static/shields/room.svg
[l4]: https://miaou.dystroy.org/3Definition of ANSI, RGB and HSL color types and all the conversions between them.
There are many other color conversion crates.
This one is no-std and pure-rust and may be useful when you're interested into- variations of an ANSI color for your TUI application, for example fading, lightening, darkening, with compatibility with terminals that don't support RGB.
- translations of color schemes
- automatic downgrading of RGB color schemes for non RGB terminals
- automated building of harmonious color schemes with guarantees of contrast
- etc.Coolor is used in [SafeCloset](https://github.com/Canop/safecloset) to dynamically fade the background behind a dialog:
![img](doc/faded-background.png)
Be warned that the ANSI range is intrinsically limited to 240 colors and that not all intuitive operations will give good results.
Coolor doesn't contain functions to print on the terminal, but the colors can be used in other crates.
There's an optional [feature](features.md) for conversion from and into [Crossterm](https://github.com/crossterm-rs/crossterm) colors. You'll see it used in the included examples.## Included Examples
### ansi-variations
Luminosity and saturation variations of all 240 ANSI colors, with all variants still ANSI colors.
![ansi-variations](doc/ansi-variations.png)
### ansi-mix
Several ways to mix colors
![ansi-mix](doc/ansi-mix.png)
### rgb-to-ansi
Finding the nearest ANSI color from a RGB one
![rgb-to-ansi](doc/rgb-to-ansi.png)