9 releases

0.4.0 Aug 31, 2024
0.3.4 May 5, 2023
0.3.3 Oct 14, 2022
0.3.2 Jul 22, 2022
0.1.0 Jun 1, 2021

#623 in Command line utilities

MIT/Apache

38KB
872 lines

gradient

Build Status crates.io

A command-line tool for playing with color gradients.

gradient-cli-tool

Features

  • Lots of preset gradients.
  • Custom gradient.
  • Read gradients from SVG & GIMP gradient (ggr) file.
  • Display gradient in the terminal.
  • Get colors from gradient.

Installation

Pre-compiled binaries for Linux, macOS and Windows is avaliable on release page.

Cargo

gradient can be installed using cargo.

cargo install gradient

NetBSD

On NetBSD, a pre-compiled binary is available from the official repositories. To install it, simply run:

pkgin install gradient

Usage

gradient [OPTIONS]

Options:

  • -W, --width <NUM> : Gradient display width (default: terminal width)
  • -H, --height <NUM> : Gradient display height (default: 2)
  • -b, --background <COLOR> : Background color (default: checkerboard)
  • --cb-color <COLOR> <COLOR> : Checkerboard color
  • -s, --sample <FLOAT>... : Get color(s) at specific position
  • -t, --take <NUM> : Get N colors evenly spaced across gradient
  • -o, --format <FORMAT> : Output color format (default: hex) [hex, rgb, rgb255, hsl, hsv, hwb]
  • -a, --array : Print colors as array

Preset gradient

  • -p, --preset <NAME> : Using the preset gradient
  • -l, --list-presets : Lists all available preset gradient names

Custom gradient

  • -c, --custom <COLOR>... : Create custom gradient
  • -m, --blend-mode <MODE> : Custom gradient blending mode (default: oklab) [rgb, linear-rgb, hsv, oklab]
  • -i, --interpolation <MODE> : Custom gradient interpolation mode (default: catmull-rom) [linear, basis, catmull-rom]
  • -P, --position <FLOAT>... : Custom gradient color position

Gradient file

  • -f, --file <FILE>... : Read gradient from SVG or GIMP gradient (ggr) file(s)
  • --ggr-fg <COLOR> : GGR foreground color (default: black)
  • --ggr-bg <COLOR> : GGR background color (default: white)
  • --svg-id <ID> : Pick one SVG gradient by ID

COLOR can be specified using CSS color format.

Usage Examples

Get 100 colors (evenly spaced accross gradient domain) from rainbow preset gradient.

gradient -p rainbow -t 100

Display all gradients from svg file.

gradient -f file.svg

Create custom gradient.

gradient -c gold ff4700 'rgb(90,230,170)' 'hsl(340,50%,50%)' 'hsv(270,60%,70%)' 'hwb(230,50%,0%)'

TODO add more examples

Dependencies

~3–12MB
~148K SLoC