Class that represents a single color. All of Color.js’s tree-shakeable methods are also available as instance methods on this class, as well as static methods that take the color as the first argument.

Hierarchy

  • SpaceAccessors
    • Color

Implements

Constructors

Properties

a: number
a98rgb_linear: SpaceAccessor
alpha: number
az: number
b: number
bz: number
c: number
cam16_jmh: SpaceAccessor
contrast: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      • Rest ...args: [foreground: ColorTypes, o: "WCAG21" | "APCA" | "Michelson" | "Weber" | "Lstar" | "DeltaPhi" | {
            algorithm: "WCAG21" | "APCA" | "Michelson" | "Weber" | "Lstar" | "DeltaPhi";
        } & Record<string, any>]

      Returns number

contrastAPCA: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

contrastDeltaPhi: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

contrastLstar: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

contrastMichelson: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

contrastWCAG21: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

contrastWeber: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

coords: Coords
cp: number
ct: number
cz: number
darken: ((...args) => PlainColorObject)

Type declaration

deltaE: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      • Rest ...args: [c2: ColorTypes, o: "76" | "Jz" | "HCT" | "CMC" | "2000" | "ITP" | "OK" | "OK2" | {
            method?: "76" | "Jz" | "HCT" | "CMC" | "2000" | "ITP" | "OK" | "OK2";
        } & Record<string, any>]

      Returns number

deltaE2000: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      • Rest ...args: [sample: ColorTypes, {
            kC?: number;
            kH?: number;
            kL?: number;
        }?]

      Returns number

deltaE76: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

deltaECMC: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      • Rest ...args: [sample: ColorTypes, {
            c?: number;
            l?: number;
        }?]

      Returns number

deltaEITP: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

deltaEJz: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

deltaEOK: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

distance: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      Returns number

equals: ((...args) => boolean)

Type declaration

    • (...args): boolean
    • Parameters

      Returns boolean

g: number
get: ((...args) => number)

Type declaration

    • (...args): number
    • Parameters

      • Rest ...args: [prop: Ref]

      Returns number

getAll: ((...args) => Coords)

Type declaration

    • (...args): Coords
    • Parameters

      • Rest ...args: [GetAllOptions?]

      Returns Coords

h: number
hz: number
i: number
inGamut: ((...args) => boolean)

Type declaration

    • (...args): boolean
    • Parameters

      • Rest ...args: [space: string | Space, {
            epsilon?: number;
        }?]

      Returns boolean

j: number
jz: number
l: number
lab_d65: SpaceAccessor
lighten: ((...args) => PlainColorObject)

Type declaration

m: number
p3_linear: SpaceAccessor
prophoto: SpaceAccessor
prophoto_linear: SpaceAccessor
r: number
range: ((...args) => Range)

Creates a function that accepts a number and returns a color. For numbers in the range 0 to 1, the function interpolates; for numbers outside that range, the function extrapolates (and thus may not return the results you expect)

Type declaration

rec2020: SpaceAccessor
rec2020_linear: SpaceAccessor
rec2100_linear: SpaceAccessor
rec2100hlg: SpaceAccessor
rec2100pq: SpaceAccessor
s: number
srgb_linear: SpaceAccessor
t: number
to: ((...args) => Color)

Type declaration

toString: ((...args) => string)

Type declaration

    • (...args): string
    • Parameters

      Returns string

u: number
uv: ((...args) => [number, number])

Type declaration

    • (...args): [number, number]
    • Parameters

      • Rest ...args: []

      Returns [number, number]

v: number
w: number
x: number
xy: ((...args) => [number, number])

Type declaration

    • (...args): [number, number]
    • Parameters

      • Rest ...args: []

      Returns [number, number]

xyz_abs_d65: SpaceAccessor
xyz_d50: SpaceAccessor
xyz_d65: SpaceAccessor
y: number
z: number
contrast: ((background, foreground, o) => number)

Type declaration

    • (background, foreground, o): number
    • Parameters

      • background: ColorTypes
      • foreground: ColorTypes
      • o: "WCAG21" | "APCA" | "Michelson" | "Weber" | "Lstar" | "DeltaPhi" | {
            algorithm: "WCAG21" | "APCA" | "Michelson" | "Weber" | "Lstar" | "DeltaPhi";
        } & Record<string, any>

        Algorithm to use as well as any other options to pass to the contrast function

      Returns number

contrastAPCA: ((background, foreground) => number)

Type declaration

    • (background, foreground): number
    • Not symmetric, requires a foreground (text) color, and a background color

      Parameters

      Returns number

contrastDeltaPhi: ((color1, color2) => number)

Type declaration

contrastLstar: ((color1, color2) => number)

Type declaration

contrastMichelson: ((color1, color2) => number)

Type declaration

contrastWCAG21: ((color1, color2) => number)

Type declaration

contrastWeber: ((color1, color2) => number)

Type declaration

darken: ((color, amount?) => PlainColorObject)

Type declaration

deltaE: ((c1, c2, o?) => number)

Type declaration

    • (c1, c2, o?): number
    • Parameters

      • c1: ColorTypes
      • c2: ColorTypes
      • Optional o: "76" | "Jz" | "HCT" | "CMC" | "2000" | "ITP" | "OK" | "OK2" | {
            method?: "76" | "Jz" | "HCT" | "CMC" | "2000" | "ITP" | "OK" | "OK2";
        } & Record<string, any> = {}

        deltaE method to use as well as any other options to pass to the deltaE function

      Returns number

deltaE2000: ((color, sample, options?) => number)

Type declaration

    • (color, sample, options?): number
    • Parameters

      • color: ColorTypes
      • sample: ColorTypes
      • options: {
            kC?: number;
            kH?: number;
            kL?: number;
        } = {}
        • Optional kC?: number
        • Optional kH?: number
        • Optional kL?: number

      Returns number

deltaE76: ((color, sample) => number)

Type declaration

deltaECMC: ((color, sample, options?) => number)

Type declaration

    • (color, sample, options?): number
    • Parameters

      • color: ColorTypes
      • sample: ColorTypes
      • options: {
            c?: number;
            l?: number;
        } = {}
        • Optional c?: number
        • Optional l?: number

      Returns number

deltaEITP: ((color, sample) => number)

Type declaration

    • (color, sample): number
    • Delta E in ICtCp space, which the ITU calls Delta E ITP, which is shorter. Formulae from ITU Rec. ITU-R BT.2124-0

      Parameters

      Returns number

deltaEJz: ((color, sample) => number)

Type declaration

    • (color, sample): number
    • More accurate color-difference formulae than the simple 1976 Euclidean distance in Lab

      Uses JzCzHz, which has improved perceptual uniformity and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH² gives good results.

      Parameters

      Returns number

deltaEMethods: {
    deltaE2000: ((color, sample, options?) => number);
    deltaE76: ((color, sample) => number);
    deltaECMC: ((color, sample, options?) => number);
    deltaEHCT: ((color, sample) => number);
    deltaEITP: ((color, sample) => number);
    deltaEJz: ((color, sample) => number);
    deltaEOK: ((color, sample) => number);
    deltaEOK2: ((color, sample) => number);
}

Type declaration

  • deltaE2000: ((color, sample, options?) => number)
      • (color, sample, options?): number
      • Parameters

        • color: ColorTypes
        • sample: ColorTypes
        • options: {
              kC?: number;
              kH?: number;
              kL?: number;
          } = {}
          • Optional kC?: number
          • Optional kH?: number
          • Optional kL?: number

        Returns number

  • deltaE76: ((color, sample) => number)
  • deltaECMC: ((color, sample, options?) => number)
      • (color, sample, options?): number
      • Parameters

        • color: ColorTypes
        • sample: ColorTypes
        • options: {
              c?: number;
              l?: number;
          } = {}
          • Optional c?: number
          • Optional l?: number

        Returns number

  • deltaEHCT: ((color, sample) => number)
      • (color, sample): number
      • Color distance using HCT.

        Parameters

        Returns number

  • deltaEITP: ((color, sample) => number)
      • (color, sample): number
      • Delta E in ICtCp space, which the ITU calls Delta E ITP, which is shorter. Formulae from ITU Rec. ITU-R BT.2124-0

        Parameters

        Returns number

  • deltaEJz: ((color, sample) => number)
      • (color, sample): number
      • More accurate color-difference formulae than the simple 1976 Euclidean distance in Lab

        Uses JzCzHz, which has improved perceptual uniformity and thus a simple Euclidean root-sum of ΔL² ΔC² ΔH² gives good results.

        Parameters

        Returns number

  • deltaEOK: ((color, sample) => number)
      • (color, sample): number
      • More accurate color-difference formulae than the simple 1976 Euclidean distance in CIE Lab

        Parameters

        Returns number

  • deltaEOK2: ((color, sample) => number)
      • (color, sample): number
      • More accurate color-difference formulae than the simple 1976 Euclidean distance in CIE Lab The Oklab a and b axes are scaled relative to the L axis, for better uniformity Björn Ottosson said: "I've recently done some tests with color distance datasets as implemented in Colorio and on both the Combvd dataset and the OSA-UCS dataset a scale factor of slightly more than 2 for a and b would give the best results (2.016 works best for Combvd and 2.045 for the OSA-UCS dataset)."

        Parameters

        Returns number

deltaEOK: ((color, sample) => number)

Type declaration

    • (color, sample): number
    • More accurate color-difference formulae than the simple 1976 Euclidean distance in CIE Lab

      Parameters

      Returns number

lighten: ((color, amount?) => PlainColorObject)

Type declaration

range: {
    (range, options?): Range;
    (color1, color2, options?): Range;
}

Creates a function that accepts a number and returns a color. For numbers in the range 0 to 1, the function interpolates; for numbers outside that range, the function extrapolates (and thus may not return the results you expect)

Type declaration

Accessors

  • get luminance(): number
  • Returns number

  • set luminance(_): void
  • Parameters

    • _: number

    Returns void

Methods

  • Parameters

    • Rest ...args: [({
          space?: string | Space;
      } & Record<string, any>)?]

    Returns string & {
        color: Color;
    }