color-classifier-ts
v2.0.0color-classifier.js
Classify the color along the reference color. using algorithm the CIEDE2000, RGB, HSV.
Forked from https://github.com/tsuyoshiwada/color-classifier and turned into Typescript project
INSTALL
$ npm install color-classifier-ts --save
USAGE
The following is the basic usage.
import ColorClassifier from "color-classifier"
const palette = ["#fff", "#000"];
const colorClassifier = new ColorClassifier(palette);
const color = colorClassifier.classify("#fefefe");
console.log(color); // {r: 255, g: 255, b: 255}
The type of pallet and algorithms have been some available.
import ColorClassifier, { Palette, AlgorithmTypes } from "color-classifier"
const colorClassifier = new ColorClassifier(Palette.W3C, AlgorithmTypes.HSV);
const color = colorClassifier.classify("#fefefe");
console.log(color); // {r: 255, g: 255, b: 255}
The available values are as follows.
Palette
The following is the palette list at preset.
Palette.W3C
hex | color |
---|---|
#000000 |
|
#808080 |
|
#c0c0c0 |
|
#ffffff |
|
#800000 |
|
#ff0000 |
|
#008000 |
|
#00ff00 |
|
#808000 |
|
#ffff00 |
|
#008080 |
|
#00ffff |
|
#000080 |
|
#0000ff |
|
#800080 |
|
#ff00ff |
Palette.RAINBOW
hex | color |
---|---|
#000000 |
|
#808080 |
|
#ffffff |
|
#ff0000 |
|
#ffa500 |
|
#ffff00 |
|
#008000 |
|
#00ffff |
|
#0000ff |
|
#800080 |
AlgorithmTypes
The difference algorithm of color is possible some selection.
value | description |
---|---|
AlgorithmTypes.CIEDE2000 |
Using the CIE Delta E 2000 Color-Difference algorithm (CIEDE2000). The CIEDE2000 color-difference formula, Color difference - Wikipedia, the free encyclopedia |
AlgorithmTypes.HSV |
Using the HSV color space. HSL and HSV - Wikipedia, the free encyclopedia |
AlgorithmTypes.RGB |
Using the RGB color space. RGB color model - Wikipedia, the free encyclopedia |
API
new ColorClassifier(palette = Palette.W3C, algorithmType = AlgorithmTypes.CIEDE2000)
palette: {Array}
algorithmType: {String}
Palette is specify array in RGB object or HEX string.
HEX String:
const palette = ["#fff", "#000"];
const colorClassifier = new ColorClassifier(palette);
RGB Object:
const palette = [
{r: 255, g: 255, b: 255},
{r: 0, g: 0, b: 0}
];
const colorClassifier = new ColorClassifier(palette);
classify(color, format = "rgb")
color: {Object || String}
format: {String} ("rgb", "hex", "hsv")
Classifies the specified color along the palette.
const color1 = {r: 255, g: 255, b: 255};
console.log(colorClassifier.classify(color1, "rgb")); //{r: 255, g: 255, b: 255}
console.log(colorClassifier.classify(color1, "hex")); //#ffffff
console.log(colorClassifier.classify(color1, "hsv")); //{h: 0, s: 0, v: 100}
const color2 = "#fff";
console.log(colorClassifier.classify(color2, "rgb")); //{r: 255, g: 255, b: 255}
console.log(colorClassifier.classify(color2, "hex")); //#ffffff
console.log(colorClassifier.classify(color2, "hsv")); //{h: 0, s: 0, v: 100}
classifyFromArray(colors, format = "rgb")
colors: {Array}
format: {String} ("rgb, "hex", "hsv")
Classifies the specified array of colors along the palette.
const colors = ["#fefefe", "#fafafa", "#010101", "#020202"];
const results = colorClassifier.classifyFromArray(colors, "hex");
console.log(results);
// [
// {
// palette: "#ffffff",
// colors: [
// "#fefefe",
// "#fafafa"
// ]
// },
// {
// palette: "#000000",
// colors: [
// "#010101",
// "#020202"
// ]
// }
// ]
LICENCE
Released under the MIT Licence