0.14.0-alpha ā€¢ Published 2 years ago

chromaticity-color-utilities v0.14.0-alpha

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
2 years ago

chromaticity-color-utilities

downloads types: Typescript license: GPL-3.0-or-later npm version code style: prettier

Color utilities for Node.js.

Conversion, modification, and color schemes of: RGB (at any bit depth), HSV, HSL, HSI, HSP, CYMK, YIQ, XYZ, xyY, L*a*b*, L*u*v*, Y'PbPr, Y'CbCr, and more.

Install

npm i chromaticity-color-utilities

Documentation

šŸ“– Please read the full Documentation for details on each method as well as numerous usage examples.

Example Usage

TypeScript

import Color from 'chromaticity-color-utilities'

const color1: Color.hsv = Color.from('rgb', [255, 128, 0]).to('hsv')

const scheme1: Color.lab[] = Color.from('hex', 0x9a237f)
  .modify('desaturate', { amount: 0.2 })
  .to('lab', {
    colorSpace: 'AdobeRGB',
    referenceWhite: 'D50',
  })
  .scheme('gradient', {
    with: Color.from('hsl', [300, 50, 45]),
    colors: 5,
  })

const yourMethod = (rgb: Color.rgb): Color.hsv => {
  // do things
  let hsv: Color.hsv = rgb.to('hsv')
  // do things
  return hsv
}

JavaScript

const Color = require('chromaticity-color-utilities')

const color1 = Color.from('rgb', [255, 128, 0]).to('hsv')

const scheme1 = Color.from('hex', 0x9a237f)
  .modify('desaturate', { amount: 0.2 })
  .to('lab', {
    colorSpace: 'AdobeRGB',
    referenceWhite: 'D50',
  })
  .scheme('gradient', {
    with: Color.from('hsl', [300, 50, 45]),
    colors: 5,
  })

TypeScript (deprecated type import method)

colorTypes is still supported, but deprecated and will be removed in a future release.

import Color, { colorTypes } from 'chromaticity-color-utilities'

const color1: colorTypes.hsv = Color.from('rgb', [255, 128, 0]).to('hsv')

Known Issues

  • YCbCr validates only with a high tolerance. Not sure if floating point issue.

Compiling from Source

git clone https://github.com/reiniiriarios/chromaticity-color-utilities.git
cd chromaticity-color-utilities
npm ci
tsc

(Typescript not added as dependency, install with npm i -g typescript.)

To Do List

  • LCHab
  • LCHuv
  • HSLuv
  • HPLuv
  • YUV
  • Gamma adjustment modification
  • Auto-gamma adjustment and conversion for rec709, rec2020, and jpeg to/from ypbpr
    • note to self: rec709 does gamma conversion before while rec2020 does gamma conversion after when converting to ypbpr (I think)
  • Need way more comments and better variable names
  • Write more documentation wrt mathematics.
  • Integrate my references better. :)
  • For RGBA to CMYK, mix alpha with white
  • Support for 8-digit hex values (RRGGBBAA)
  • Diagrams in docs
0.14.0-alpha

2 years ago

0.13.0-alpha

2 years ago

0.12.0-alpha

2 years ago

0.5.0-alpha

2 years ago

0.8.6-alpha

2 years ago

0.11.0-alpha

2 years ago

0.7.0-alpha

2 years ago

0.13.2-alpha

2 years ago

0.7.3-alpha

2 years ago

0.12.1-alpha

2 years ago

0.8.5-alpha

2 years ago

0.8.0-alpha

2 years ago

0.8.4-alpha

2 years ago

0.13.1-alpha

2 years ago

0.7.2-alpha

2 years ago

0.2.9-alpha

2 years ago

0.4.0-alpha

2 years ago

0.3.0-alpha

2 years ago

0.2.7-alpha

3 years ago

0.2.8-alpha

3 years ago

0.2.6-alpha

3 years ago

0.2.4-alpha

3 years ago

0.2.5-alpha

3 years ago

0.1.11-alpha

3 years ago

0.1.12-alpha

3 years ago

0.2.1-alpha

3 years ago

0.1.13-alpha

3 years ago

0.2.0-alpha

3 years ago

0.1.8-alpha

3 years ago

0.1.5-alpha

3 years ago

0.1.9-alpha

3 years ago

0.1.7-alpha

3 years ago

0.1.3-alpha

3 years ago

0.1.2-alpha

3 years ago

0.1.1-alpha

3 years ago