A micro PHP package to convert and alter colors! ๐ฅ
Contents of this document:
You can install this package through composer. To install the latest version in to your project use the following command:
composer require liquidpineapple/color
This package requires PHP 7.0 or higher.
Table of contents:
-
b) Output
a) Types
-
a) Lightness
b) Saturation
You can use this package to convert colors to different notations. An example might be converting HEX to RGB:
<?php
use Liquidpineapple\Color;
$rgbColor = Color::fromHEX('#1E90FF')->toRGB();
// [30, 144, 255]
In some cases you might want an output like rgb(30, 144, 255)
. This can be done using the following method:
<?php
use Liquidpineapple\Color;
$rgbColor = Color::fromHEX('#1E90FF')->toRGBString();
// rgb(30, 144, 255)
You can convert from the following types:
- HEX:
fromHEX($hex)
- RGB:
fromHEX($red, $green, $blue)
- HSL:
fromHSL($hue, $saturation, $lightness)
- HSV:
fromHSV($hue, $saturation, $value)
To the following types
- HEX:
toHEX()
&toHEXString()
(alias oftoHEX()
) - RGB:
toRGB()
&toRGBString()
- HSL:
toHSL()
&toHSLString()
- HSV:
toHSV()
&toHSVString()
Sometimes just conversion isn't enough, in some cases you might want to darken or saturate a color. Luckily, this is a breeze with this package.
You can alter the lightness of the color using the following methods:
lighten($amount)
darken($amount)
The amount in both message is a percentage. An example:
<?php
use Liquidpineapple\Color;
$primaryColor = '#1E90FF';
$secondaryColor = Color::fromHEX('#1E90FF')->darken(10)->toHEX();
// #2A8FF4
Just as with lightness you can alter the saturation of a given color. This can be done using the following methods:
saturate($amount)
desaturate($amount)
The amount in both message is a percentage. An example:
<?php
use Liquidpineapple\Color;
$dullColor = '#C44';
$exitingColor = Color::fromHEX('#C44')->saturate(10)->toHEX();
// #D33C3C
Did we miss something, or do you have cool ideas? Feel free to contribute!
How to contribute:
- Fork this repository.
- Write code (with comments).
- Write tests (100% coverage).
- Create a pull-request.
- Profit!