https://github.com/devlop/colours
Collection of color classes to simplify working and converting colors in PHP.
https://github.com/devlop/colours
Last synced: 8 months ago
JSON representation
Collection of color classes to simplify working and converting colors in PHP.
- Host: GitHub
- URL: https://github.com/devlop/colours
- Owner: devlop
- License: mit
- Created: 2021-09-11T07:33:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T01:24:35.000Z (almost 2 years ago)
- Last Synced: 2025-10-04T01:56:03.298Z (8 months ago)
- Language: PHP
- Homepage:
- Size: 83 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Colours
Collection of color classes to simplify working with and converting colors in PHP.
# Installation
```bash
composer require devlop/colours
```
# Usage
## HexColor
```php
use Devlop\Colours\HexColor;
// check validity
HexColor::isValid('#fff'); // bool(true)
HexColor::isValid('#0B33B1'); // bool(true)
HexColor::isValid('#19b9cd'); // bool(true)
HexColor::isValid('#b9cd'); // bool(false)
HexColor::isValid('red'); // bool(false)
HexColor::isValid('19b9cd'); // bool(true)
// check validity (strict mode)
HexColor::isValid('19b9cd', true); // bool(false)
// creating from hex string
$hexColor = new HexColor('#f0f');
// creating from other formats
$hexColor = HexColor::fromHslColor($hslColorInstance);
$hexColor = HexColor::fromRgbColor($rgbColorInstance);
$hexColor = HexColor::fromCmykColor($cmykColorInstance);
// get the hex string
$hexColor->getHexString(); // string('#ff00ff')
// converting to other formats
$hslColor = $hexColor->toHsl();
$rgbColor = $hexColor->toRgb();
$cmykColor = $hexColor->toCmyk();
```
## HslColor
```php
use Devlop\Colours\HslColor;
// creating from HSL values
$hslColor = new HslColor(180, 96, 77);
// creating from other formats
$hslColor = HslColor::fromHexString('#b187F5');
$hslColor = HslColor::fromHexColor($hexColorInstance);
$hslColor = HslColor::fromRgbColor($rgbColorInstance);
// get HSL properties
$hslColor->getHue(); // int(180)
$hslColor->getSaturation(); // int(96)
$hslColor->getLightness(); // int(77)
// converting to other formats
$hexColor = $hslColor->toHex();
$rgbColor = $hslColor->toRgb();
```
## RgbColor
```php
use Devlop\Colours\RgbColor;
// creating from RGB values
$rgbColor = new RgbColor(221, 186, 146);
// creating from other formats
$rgbColor = RgbColor::fromHexString('#f3840c');
$rgbColor = RgbColor::fromHexColor($hexColorInstance);
$rgbColor = RgbColor::fromHslColor($hslColorInstance);
$rgbColor = RgbColor::fromCmykColor($cmykColorInstance);
// get RGB properties
$rgbColor->getRed(); // int(221)
$rgbColor->getGreen(); // int(186)
$rgbColor->getBlue(); // int(146)
// converting to other formats
$hexColor = $rgbColor->toHex();
$hslColor = $rgbColor->toHsl();
$cmykColor = $rgbColor->toCmyk();
```
## CmykColor
```php
use Devlop\Colours\CmykColor;
// creating from CMYK values
$cmykColor = new CmykColor(20, 80, 65, 34);
// creating from other formats
$cmykColor = CmykColor::fromHexString('#f3840c');
$cmykColor = CmykColor::fromHexColor($hexColorInstance);
$cmykColor = CmykColor::fromRgbColor($rgbColorInstance);
// get CMYK properties
$cmykColor->getCyan(); // int(20)
$cmykColor->getMagenta(); // int(80)
$cmykColor->getYellow(); // int(65)
$cmykColor->getKey(); // int(34)
// converting to other formats
$hexColor = $cmykColor->toHex();
$rgbColor = $cmykColor->toRgb();
```