Representation of an RGBA color.

Constructors

  • Create a new Color object.

    Parameters

    • Optional r: number | number[] = 0

      The value of the red component (0-1). Defaults to 0. If r is an array of length 3 or 4, the array will be used to populate all components.

    • Optional g: number = 0

      The value of the green component (0-1). Defaults to 0.

    • Optional b: number = 0

      The value of the blue component (0-1). Defaults to 0.

    • Optional a: number = 1

      The value of the alpha component (0-1). Defaults to 1.

    Returns Color

Properties

a: number

The alpha component of the color.

b: number

The blue component of the color.

g: number

The green component of the color.

r: number

The red component of the color.

BLACK: Color = ...

A constant color set to black [0, 0, 0, 1].

BLUE: Color = ...

A constant color set to blue [0, 0, 1, 1].

CYAN: Color = ...

A constant color set to cyan [0, 1, 1, 1].

GRAY: Color = ...

A constant color set to gray [0.5, 0.5, 0.5, 1].

GREEN: Color = ...

A constant color set to green [0, 1, 0, 1].

MAGENTA: Color = ...

A constant color set to magenta [1, 0, 1, 1].

RED: Color = ...

A constant color set to red [1, 0, 0, 1].

WHITE: Color = ...

A constant color set to white [1, 1, 1, 1].

YELLOW: Color = ...

A constant color set to yellow [1, 1, 0, 1].

Methods

  • Copies the contents of a source color to a destination color.

    Parameters

    • rhs: Color

      A color to copy to the specified color.

    Returns Color

    Self for chaining.

    Example

    const src = new pc.Color(1, 0, 0, 1);
    const dst = new pc.Color();

    dst.copy(src);

    console.log("The two colors are " + (dst.equals(src) ? "equal" : "different"));
  • Reports whether two colors are equal.

    Parameters

    • rhs: Color

      The color to compare to the specified color.

    Returns boolean

    True if the colors are equal and false otherwise.

    Example

    const a = new pc.Color(1, 0, 0, 1);
    const b = new pc.Color(1, 1, 0, 1);
    console.log("The two colors are " + (a.equals(b) ? "equal" : "different"));
  • Set the values of the color from a string representation '#11223344' or '#112233'.

    Parameters

    • hex: string

      A string representation in the format '#RRGGBBAA' or '#RRGGBB'. Where RR, GG, BB, AA are red, green, blue and alpha values. This is the same format used in HTML/CSS.

    Returns Color

    Self for chaining.

  • Returns the result of a linear interpolation between two specified colors.

    Parameters

    • lhs: Color

      The color to interpolate from.

    • rhs: Color

      The color to interpolate to.

    • alpha: number

      The value controlling the point of interpolation. Between 0 and 1, the linear interpolant will occur on a straight line between lhs and rhs. Outside of this range, the linear interpolant will occur on a ray extrapolated from this line.

    Returns Color

    Self for chaining.

    Example

    const a = new pc.Color(0, 0, 0);
    const b = new pc.Color(1, 1, 0.5);
    const r = new pc.Color();

    r.lerp(a, b, 0); // r is equal to a
    r.lerp(a, b, 0.5); // r is 0.5, 0.5, 0.25
    r.lerp(a, b, 1); // r is equal to b
  • Assign values to the color components, including alpha.

    Parameters

    • r: number

      The value for red (0-1).

    • g: number

      The value for blue (0-1).

    • b: number

      The value for green (0-1).

    • Optional a: number = 1

      The value for the alpha (0-1), defaults to 1.

    Returns Color

    Self for chaining.

  • Converts the color to string form. The format is '#RRGGBBAA', where RR, GG, BB, AA are the red, green, blue and alpha values. When the alpha value is not included (the default), this is the same format as used in HTML/CSS.

    Parameters

    • alpha: boolean

      If true, the output string will include the alpha value.

    Returns string

    The color in string form.

    Example

    const c = new pc.Color(1, 1, 1);
    // Outputs #ffffffff
    console.log(c.toString());