Color helper library for converting between RGB, CMYK, HSV, HST and HEX and create interpolation.

0.5.0 2017-12-16 02:32 UTC

This package is auto-updated.

Last update: 2021-11-29 02:30:35 UTC


color conversions and transitions (e.g. interpolation).

Build Status Scrutinizer Quality Score Scrutinizer Coverage

Latest Release MIT License Total Downloads

Developed by ARTACK WebLab GmbH in Zurich, Switzerland.


  • Provides class representation for RGB, CMYK, HSV, HSL and HEX.
  • Provides conversion between all class representation
  • Provides transitions between colors (e.g. interpolation)
  • Provides clear exceptions to be able to handle library exceptions
  • Compatible with PHP >= 7.


You can install ARTACK's color library through Composer:

$ composer require artack/color


Creating a RGB class representation:

$RGB = new RGB(0, 255, 0);
echo $RGB->getGreen(); // 255

Translate RGR class representation to HSV:

$converter = Factory::createConverter();
$RGB = new RGB(0, 255, 0);

$HSV = $converter->convert($RGB, HSV::class);

Get an interpolation color between two colors with the value (and max) given:

$transition = Factory::createTransition();
$RGBRed = new RGB(255, 0, 0); // red
$RGBGreen = new RGB(0, 255, 0); // green

$RGBInterpolated = $transition->interpolate(RGB::class, $RGBRed, $RGBGreen, 100, 200); // should be ~yellow

// Interpolation will give better results when using HSV Transition. Colors get converted automaticly if needed.
$HSVInterpolated = $transition->interpolate(HSV::class, $RGBRed, $RGBGreen, 100, 200); // should be ~yellow