What is chartjs-color?
The chartjs-color npm package is a utility for color manipulation and conversion, designed to work seamlessly with Chart.js. It allows users to create, manipulate, and convert colors in various formats.
What are chartjs-color's main functionalities?
Color Creation
This feature allows you to create color objects from color names, hex codes, or RGB values. The example demonstrates creating a color object from the color name 'red' and converting it to a hex string.
const Color = require('chartjs-color');
const red = Color('red');
console.log(red.hexString()); // Outputs: #ff0000
Color Manipulation
This feature allows you to manipulate colors by lightening, darkening, or adjusting their saturation. The example shows how to lighten the color red by 50%.
const Color = require('chartjs-color');
const red = Color('red');
const lightRed = red.lighten(0.5);
console.log(lightRed.hexString()); // Outputs a lighter shade of red
Color Conversion
This feature allows you to convert colors between different formats such as RGB, HSL, and hex. The example demonstrates converting the color red to RGB and HSL string formats.
const Color = require('chartjs-color');
const red = Color('red');
console.log(red.rgbString()); // Outputs: rgb(255, 0, 0)
console.log(red.hslString()); // Outputs: hsl(0, 100%, 50%)
Other packages similar to chartjs-color
color
The 'color' package is a comprehensive library for color conversion and manipulation. It supports a wide range of color models and provides extensive methods for color transformations. Compared to chartjs-color, it offers more advanced features and flexibility for complex color operations.
tinycolor2
The 'tinycolor2' package is a lightweight color manipulation library that supports color conversion and manipulation. It is known for its simplicity and ease of use, making it a good alternative for basic color operations. While it may not be as feature-rich as 'color', it is more lightweight and easier to integrate for simple tasks.
chroma-js
The 'chroma-js' package is a powerful library for color manipulation and conversion, with a focus on color scales and interpolation. It is particularly useful for creating color gradients and palettes. Compared to chartjs-color, chroma-js offers more advanced features for color scale generation and interpolation.
chartjs-color
JavaScript library for color conversion and manipulation with support for CSS color strings.
var color = Color("#7743CE");
color.alpha(0.5).lighten(0.5);
console.log(color.hslString());
Install
$ npm install color
Usage
var Color = require("color")
Setters
var color = Color("rgb(255, 255, 255)")
var color = Color({r: 255, g: 255, b: 255})
var color = Color().rgb(255, 255, 255)
var color = Color().rgb([255, 255, 255])
Pass any valid CSS color string into Color()
or a hash of values. Also load in color values with rgb()
, hsl()
, hsv()
, hwb()
, and cmyk()
.
color.red(120)
Set the values for individual channels with alpha
, red
, green
, blue
, hue
, saturation
(hsl), saturationv
(hsv), lightness
, whiteness
, blackness
, cyan
, magenta
, yellow
, black
Getters
color.rgb()
Get a hash of the rgb values with rgb()
, similarly for hsl()
, hsv()
, and cmyk()
color.rgbArray()
Get an array of the values with rgbArray()
, hslArray()
, hsvArray()
, and cmykArray()
.
color.red()
Get the value for an individual channel.
CSS Strings
color.hslString()
Different CSS String formats for the color are on hexString
, rgbString
, percentString
, hslString
, hwbString
, and keyword
(undefined if it's not a keyword color). "rgba"
and "hsla"
are used if the current alpha value of the color isn't 1
.
Luminosity
color.luminosity();
The WCAG luminosity of the color. 0 is black, 1 is white.
color.contrast(Color("blue"))
The WCAG contrast ratio to another color, from 1 (same color) to 21 (contrast b/w white and black).
color.light();
color.dark();
Get whether the color is "light" or "dark", useful for deciding text color.
Manipulation
color.negate()
color.lighten(0.5)
color.darken(0.5)
color.saturate(0.5)
color.desaturate(0.5)
color.greyscale()
color.whiten(0.5)
color.blacken(0.5)
color.clearer(0.5)
color.opaquer(0.5)
color.rotate(180)
color.rotate(-90)
color.mix(Color("yellow"))
color.mix(Color("yellow"), 0.3)
color.green(100).greyscale().lighten(0.6)
Clone
You can can create a copy of an existing color object using clone()
:
color.clone()
And more to come...
Propers
The API was inspired by color-js. Manipulation functions by CSS tools like Sass, LESS, and Stylus.