Skip to main content

Color

The Color class in PixiJS is a flexible utility for representing colors. It is used throughout the rendering pipeline for things like tints, fills, strokes, gradients, and more.

import { Color, Sprite, Texture, Graphics } from 'pixi.js';

const red = new Color('red'); // Named color
const green = new Color(0x00ff00); // Hex
const blue = new Color('#0000ff'); // Hex string
const rgba = new Color({ r: 255, g: 0, b: 0, a: 0.5 }); // RGBA object

console.log(red.toArray()); // [1, 0, 0, 1]
console.log(green.toHex()); // "#00ff00"

const sprite = new Sprite(Texture.WHITE);
sprite.tint = red; // Works directly with a Color instance

Using Color and ColorSource

PixiJS supports many color formats through the ColorSource type:

  • Color names: 'red', 'white', 'blue', etc.
  • Hex integers: 0xffcc00
  • Hex strings: 'ffcc00', '#f00', '0xffcc00ff'
  • RGB(A) objects: { r: 255, g: 0, b: 0 }, { r: 255, g: 0, b: 0, a: 0.5 }
  • RGB(A) strings: 'rgb(255,0,0)', 'rgba(255,0,0,0.5)'
  • RGB(A) arrays: [1, 0, 0], [1, 0, 0, 0.5]
  • Typed arrays: Uint8Array, Float32Array
  • HSL/HSV objects and strings
  • Color instances

Whenever you see a color-related property (e.g., fill, tint, stroke), you can use any of these formats. The library will automatically convert them to the appropriate format internally.

import { Graphics, Sprite, Texture } from 'pixi.js';

const sprite = new Sprite(Texture.WHITE);
sprite.tint = 'red'; // converted internally

const graphics = new Graphics();
graphics.fill({ color: '#00ff00' }); // Also converted internally

API Reference