artack/color

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

0.6.0 2022-08-09 11:53 UTC

This package is auto-updated.

Last update: 2024-10-21 14:25:58 UTC


README

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

Latest Release MIT License Total Downloads

Developed by ARTACK WebLab GmbH in Zurich, Switzerland.

Features

  • 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 and >= 8.

Installation

You can install this color library through Composer:

$ composer require artack/color

Usage

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 automatically if needed.
$HSVInterpolated = $transition->interpolate(HSV::class, $RGBRed, $RGBGreen, 100, 200); // should be ~yellow